<-
Projects
->
2 minute read

Infinity Simon

My first Agile project during university where I served as team leader, designer, and frontend developer. We took the classic Simon Says memory game and evolved it into a competitive multiplayer web application with an enhanced game mode.

My Role

  • Team Leader: Coordinated the team, managed sprints, and facilitated Agile ceremonies.
  • Designer: Created UI/UX designs and wireframes for the application.
  • Frontend Developer: Implemented the React-based frontend with TypeScript and Tailwind CSS.

Features

  • ✅ Single-player and multiplayer competitive modes.
  • ✅ Enhanced game mode with additional input types beyond the classic four buttons.
  • ✅ User authentication with email verification and password recovery.
  • ✅ Player profiles with avatars and detailed statistics.
  • ✅ Seed-based match system ensuring fair competition.
  • ✅ Fully responsive design.
  • ✅ Guest mode for trying the game without registration.

Tech Stack

Frontend

  • React: React 19 with TypeScript for the client application.
  • Tailwind CSS: For styling and responsive design.

Backend

  • Node.js & Express: REST API handling user management, seed generation, and match coordination.
  • Prisma ORM: Database schema management with type-safe queries.
  • SQLite: Storing user data, match results, and statistics.

Architecture & Deployment

The backend follows clean architecture principles with separate presentation, business logic, and persistence layers. The multiplayer system uses seed-based generation: the server creates a unique seed for each match, ensuring all players experience identical sequences while keeping game logic client-side for responsive gameplay.

  • Docker: Containerized deployment for both frontend and backend.
  • Jest: Testing framework for backend services.
  • Swagger/OpenAPI: API documentation.

What I Learned

  • Implementing user authentication with email verification and password recovery flows.
  • Working collaboratively in a team environment with code reviews and version control.
  • Agile methodology with sprints, daily standups, and iterative development.
  • Using Kanban boards (Trello) for task management and progress tracking.
  • Git workflows with pull requests, code reviews, and branch management.
  • Writing comprehensive documentation including functional specifications, requirement specifications, and system design documents.

Created: 4 months agoLast Updated: 4 months ago