A.AGHAYARI
ENFA
GET /work200 OK

The work, in six chapters.

Each chapter keeps my role and the engineering behind it. In the index, projects light up when they ran on the same foundations.

Projects
06
Years
2024–2025
Public source
03

Index

Open a chapter. Hover one to see which others share its stack.

  1. 01RsvAPIBackend service · 2025
  2. 02Lawyer AIFull-stack SaaS · 2025
  3. 03AI Language LearningBackend, SaaS · 2025
  4. 04Etutor OnlineFull-stack platform · 2024
  5. 05Student ArticlesFull-stack web app · 2025
  6. 06WorldWiseFull-stack web app · 2024

01 / 06Backend servicePersonal project2025

RsvAPI

An event-ticketing backend where the last ticket can only be sold once.

A scalable ticketing backend built with Node.js and TypeScript. It covers the whole reservation lifecycle: events and tickets, reservations, and payment processing.

  • Node.js
  • TypeScript
  • Express.js
  • PostgreSQL
  • TypeORM
  • Redis
  • JWT
  • Zod
  • Swagger
  • Integration tests
  • Docker

The problem

When many people go for the same limited tickets at once, naive code sells a seat twice. A ticketing backend has to stay correct under concurrent requests, not only on the happy path.

My role

Designed and built the service end to end.

Decisions that mattered

  1. 01

    Reservations run as transactions

    Creating a reservation and updating availability succeed or fail together, so the database never ends up half-updated.

  2. 02

    Explicit concurrency control

    Competing requests for the same ticket are handled deliberately, so a race condition can't push sales past what is available.

  3. 03

    Redis caching

    Frequently read data is cached in Redis to take pressure off PostgreSQL.

  4. 04

    Clean layers, checked edges

    Routes, business logic and data access stay separate. Input is validated with Zod, auth uses JWT, the API is documented in Swagger, and integration tests plus Docker keep it reproducible.

The hard part

Making overbooking impossible rather than unlikely. The interesting work was in the concurrent paths, not the CRUD.

02 / 06Full-stack SaaSSaaS project2025

Lawyer AI

An AI assistant for constitutional-law questions.

An AI platform that answers legal questions grounded in constitutional law.

  • Next.js
  • Nest.js
  • TypeORM
  • PostgreSQL
  • JWT
  • React Query
  • Tailwind CSS
  • i18next
  • shadcn/ui
  • OpenAI API
Lawyer AI interface
fig. 2Lawyer AI
My role
Full-stack: the Next.js client and the Nest.js API.
Engineering notes
  • Next.js client with React Query, Tailwind CSS and shadcn/ui, localised with i18next.
  • Nest.js API on TypeORM and PostgreSQL, with JWT authentication.
  • Answers are generated through the OpenAI API.

03 / 06Backend, SaaSTeam project2025

AI Language Learning

Scenario-based language practice, powered by AI.

A language-learning platform built around scenario conversations: ordering food, job interviews, travel.

  • TypeScript
  • Nest.js
  • PostgreSQL
  • TypeORM
  • JWT
  • Passport.js
  • OpenAI API
  • Cloudinary

How it fits together

  1. 01

    Learner picks a scenario

    Frontend (teammate)

  2. 02

    API authenticates and routes

    Nest.js · JWT · Passport.js

  3. 03

    Scenario is generated

    OpenAI API

  4. 04

    Progress is stored

    PostgreSQL · TypeORM

My role
Built the entire backend. A teammate built the frontend separately.
Engineering notes
  • API design in Nest.js, with PostgreSQL and TypeORM.
  • JWT and Passport.js authentication.
  • OpenAI integration for dynamic scenario generation, plus learner progress tracking.

04 / 06Full-stack platformTeam project2024

Etutor Online

A Udemy-style platform where anyone can teach or learn.

Users can be both students and instructors: students buy and take courses, instructors upload their own.

  • Next.js
  • MongoDB
  • Mongoose
  • Server Actions
  • React Hook Form
  • Zod
  • Tailwind CSS
  • shadcn/ui
  • Cloudinary
Etutor Online interface
fig. 4Etutor Online
My role
Full-stack developer on a team.
Engineering notes
  • Next.js with Server Actions on MongoDB and Mongoose.
  • Forms built with React Hook Form and validated with Zod.
  • Course media handled through Cloudinary.

05 / 06Full-stack web appUniversity project2025

Student Articles

Submission and grading for students and professors.

Students upload articles and follow feedback and grades. Professors review, score and comment from a dashboard.

  • TypeScript
  • Next.js
  • MongoDB
  • Mongoose
  • Server Actions
  • React Hook Form
  • Zod
  • Redux Toolkit
  • GSAP
  • Tailwind CSS
  • shadcn/ui
Student Articles dashboard
fig. 5Student Articles
My role
Full-stack developer.
Engineering notes
  • Role-based access separates the student and professor experiences.
  • File uploads and a grading dashboard on Next.js, Server Actions and MongoDB.
  • Redux Toolkit for client state, GSAP for motion.

06 / 06Full-stack web appPersonal project2024

WorldWise

A map-first notebook for trips you want to remember.

Keep travel plans and notes on trips, designed as a full-stack desktop app.

  • React.js
  • Express.js
  • React Router
  • MongoDB
  • Mongoose
  • Zod
  • Leaflet
  • Context API
  • CSS Modules
WorldWise map interface
fig. 6WorldWise
My role
Built the front end and the back end.
Engineering notes
  • React and React Router front end with Leaflet maps.
  • Express and MongoDB back end, with input validated by Zod.

That’s the work.