All projects

Academic · 2026

Ludix

A video game store as two clients, an Android app and a web back office, served by a single REST API.

Screenshot of the Ludix back office, editing a job posting
Academic team project at Cégep de Sherbrooke. The repository is not public.

Ludix is a fictional video game store, built as a complete system rather than a single deliverable: a mobile app for customers, an admin site for the store, and a REST API between them.

What targeting two clients changed

Writing two clients against one API imposes a discipline a single-client project never asks for. Rename a field on the Laravel side and the Android app breaks, and the reverse holds too. So we froze the data contracts before designing any screens.

The design system

I started in Figma: a component library (buttons, product cards, form fields, loading states) with their variants. Then I implemented it twice, as Blade components on the web and as reusable views on Android.

Porting the same system into two technologies teaches you quickly which parts of a mockup are principles and which are details. A colour or a spacing value transposes without thinking; a hover state does not: it doesn’t exist on mobile, and you have to decide what replaces it.

A waterfall, on purpose

The project ran ten weeks, only five of them development: two for the website, two for the app, one buffer week. The rest went upstream, in classic waterfall fashion: requirements, feature table, context diagram, task breakdown and time estimates, before writing a line of code.

The final product was never deployed; that wasn’t the point of the course. I’ve since closed that gap on other projects, including a Laravel app shipped with continuous integration and deployment.

Highlights

  • Two clients, one API: the Android app and the admin site consume the same REST endpoints, which forced us to settle the data contracts before writing any screens.
  • An authenticated back office where administrators manage products, comments, events and user accounts.
  • I built the reusable component library in Figma, then ported it twice: as Blade components on the Laravel side, as layouts and views on the Android side.
  • A team of four. A significant share of my time went to unblocking teammates in their own code.
  • Ten weeks, run as a waterfall: requirements, feature table and context diagram first, then five weeks of development (two for the website, two for the app, one buffer week). Deployment was not part of the scope.