Course project
In university I took a software development course focused on clean architecture, hexagonal architecture, DDD, and AOP. For the final assignment we built a fitness mobile app with intentionally vague requirements—we had to design the solution, justify trade-offs, and ship something real.
Twelve teams competed on quality and usability. We leaned hard into UX and a polished, usable product—and won.
Product overview
Users can browse courses and blog content about fitness, filter by category or instructor, comment, like/dislike, and track progress per course.






Demo
API swap (cross-team backends)
The professor required any frontend to run against any team’s backend—backends had to be interchangeable. Other teams restarted the app and changed the API URL in code; we built an API selector on the login screen so we could switch backends at runtime (our team was “Omega”) without rebuilding.
Stack
Flutter on the client for cross-platform native UI. NestJS on the server with MongoDB, RabbitMQ for read-model sync, Algolia for search/recommendations, and patterns including CQRS and event sourcing.