← back to projects

case study

EduAI

A full-stack educational assistant prototype combining authentication, classes, teacher workflows, gamification, student experiences, and AI-oriented functionality.

EduAI project preview

overview

An end-to-end TypeScript monorepo that brings a web client, API, database, authentication, shared packages, live communication, and role-specific workflows into one coherent application architecture.

architecture

Next.js web client ↔ HTTP/WebSocket ↔ Express server ↔ Prisma/PostgreSQL, with shared TypeScript packages and Docker Compose coordinating the environment.

engineering focus

  • Monorepo boundaries that keep frontend and backend development explicit while sharing types and utilities.
  • Designing application state and UX for authenticated, role-specific flows.
  • Combining request/response APIs with WebSocket-based interactive behaviour.
  • Containerizing the web app, API, and database into a repeatable development environment.

highlights

  • Student and teacher workflows, classes, gamification, authentication, seeded data, and AI-oriented functionality.
  • pnpm workspace with separate web and server applications plus a shared package.
  • Better Auth, Zod validation, Prisma/PostgreSQL persistence, and WebSocket support.
  • Explicit loading, error, and empty states for authenticated, role-specific workflows.

project context

Prototype completed as an end-to-end application rather than an isolated frontend exercise.

project media

Existing portfolio media

EduAI visual