Made with Le Collectif 40

Lonn

SymfonyVue.jsTypeScript
Lonn — interface screenshot 2 (Symfony, Vue.js)
Lonn — interface screenshot 3 (Symfony, Vue.js)

Context

B2B SaaS for wellness centers: a staff scheduling module on the manager side (pre-payroll-style, working-time rules) and an appointment booking system on the client side. MVP built as a team via Le Collectif 40 — I was responsible for the backend architecture, the data model and the server-side technical choices.

My approach

The core of the project on the server side: lay an architecture that holds, model a clean database to let two scopes coexist (HR scheduling + client bookings) without mixing them, and expose it through a custom Symfony BFF API. In continuous dialogue with the client, who acted as product owner — every scope trade-off and every business rule was discussed before being settled. Strict MVP discipline: cut what doesn't fit V1 rather than ship late.

  • Backend architecture and data model designed to let two scopes coexist (staff scheduling and client bookings) without stepping on each other.
  • A Symfony BFF API designed for a single client (the Vue front-end): aggregation, clear contracts, business-rule validation centralized server-side.
  • MVP scope held: cut feature by feature to lay clean foundations, ready to be extended.

Stack & technical choices

Symfony requested by the client — a solid framework to carry business logic. PostgreSQL for persistence: a mature ORM and relational guarantees that pay off the moment HR and calendar data mix. On the front, Vue + TypeScript built by another team member: a stable, typed API contract, and a front that doesn't duplicate the logic.

SymfonyVue.jsTypeScript

Outcome & takeaways

MVP shipped. Nothing louder than that: the goal was to lay the foundations cleanly and hold the scope. For me, the project where the discipline of "what does NOT belong in V1" was at the heart of the brief — and where the architecture set early on directly determined delivery speed.

Tell me about your project — I'll be straight with you about whether I can help.

Senior fullstack developer — I help startups and tech teams build the right thing, and build it right.

Based in France — fully remote or on-site depending on the project. Lyon, Grenoble, Annecy, Paris…