Skip to content
Yanni Alevras

Yanni Alevras

Full-stack developer

Frontend developer at Deloitte, building accessible React apps.

Outside work I build full-stack apps, from the Next.js UI to the NestJS API and Postgres underneath.

Open to frontend and full-stack roles

Projects

The E-com product catalogue: category, price and sort filters beside a grid of product cards.

E-com

A demo e-commerce store: shoppers browse and filter a product catalogue, keep a cart, check out and see their order history.

  • JWT auth with token rotation and replay detection. Tokens live only in httpOnly cookies, set by a Next.js backend-for-frontend layer.
  • Tested at every layer: Jest unit tests on both sides, backend end-to-end tests against a real Postgres, and two Playwright suites, one against a mocked backend and one against the real API.
  • A GitHub Actions deploy builds the API's Docker image, runs the database migrations, and restarts the API only if they succeed.
  • Next.js
  • React
  • TanStack Query
  • Tailwind CSS
  • NestJS
  • TypeORM
  • PostgreSQL
  • Docker
  • Caddy

Live demo of E-comSource code of E-com (opens in a new tab)

Versus comparing two strawweight fighters, with their info, perks, stand-up, grappling and health stats in two columns.

Versus

A cheatsheet for EA Sports UFC 4 and 5: compare two fighters' stats and perks side by side, browse their moves, and create your own fighters.

  • Side-by-side comparison across 390 fighters: stand-up, grappling, health and perks.
  • Open sandbox: anyone can add fighters, but seed data is protected, user entries are capped at the newest three, and write routes are rate-limited.
  • A TypeScript and Next.js rewrite of my earlier vanilla-JS version, with one Fighter type shared by the frontend and the API.
  • Next.js
  • React
  • TanStack Query
  • React Hook Form
  • Tailwind CSS
  • Express
  • Mongoose
  • MongoDB
  • Docker
  • Caddy

Live demo of VersusSource code of Versus (opens in a new tab)

About

I got into software through game development, because I like building things, and went on to a Diploma in Software Development at TAFE NSW. Then I spent two years as a data analyst at BGIS in Australia, keeping a company CRM accurate: I worked with the business teams to find out what needed to change, then scripted the changes rather than making them by hand.

Building things was still what I wanted to do. Military service in Greece and then COVID put that on hold, and I used the time to retrain as a web developer, from HTML and CSS through TypeScript, React, Node.js and MongoDB, mostly by building projects.

Since May 2024 I've been a frontend developer at Deloitte, building accessible (WCAG 2.1), responsive React apps with Tailwind CSS. I automated builds and deployments with AWS CodePipeline and CodeDeploy, and when I found about 60% of the code duplicated across two apps, I led the move to a monorepo with a shared component library.

Experience

  • Frontend Developer, Deloitte · GreeceMay 2024 – present
  • Data Analyst, BGIS · AustraliaNov 2017 – Nov 2019

Skills & certifications

Languages
TypeScript, JavaScript, HTML, CSS, SQL
Frontend
React, Next.js, Vite, Angular, Tailwind CSS, Material UI, Fluent UI, TanStack Query
Backend & databases
Node.js, Express, NestJS, PostgreSQL, TypeORM, MongoDB, Mongoose
Testing
Jest, Vitest, React Testing Library, Playwright
DevOps & cloud
Vercel, AWS, Render, Docker, Caddy, GitHub Actions
Tools & AI
Git, Jira, ESLint, Prettier, Claude Code

Education and certifications

  • Microsoft Certified: Azure AI Fundamentals, Microsoft
  • Certified React Developer, W3Schools
  • Diploma in Software Development, TAFE NSW

Contact

Hiring, collaborating, or curious about one of the projects? Send me a message, or email yanni.alevras@gmail.com.

Messages are delivered by Formspree and go straight to my inbox. Nothing is stored on this site.