Useful products.
One craftsman.
I design, code, ship, and operate my products myself. To be useful, out of technical curiosity, for the pure joy of going all the way.
All shipped. With real users.
A social platform where users discover, create, and join local events to meet new people. Available on the web, iOS, and Android with full feature parity.
The website for Game'n Chill, a Lyon-based association running casual video-game tournaments. Players sign up online, track their scores, climb the leaderboards — while the team orchestrates in-house and partner events from a dense back-office.
A French-language media decoding the broader economy: financial markets, crypto, commodities, ETFs, savings strategies. Articles, videos, polls, weekly rankings and live market data — available across four access tiers, from free to premium subscriptions.
The toolbox. Pragmatic, modern, native.
backend
6database
2devops
2frontend
6integrations
2mobile
13payments
3realtime
2
Ship the whole thing.
Backend. Web. Mobile. Together.
Full-stack ownership
I design, code, ship, and operate the whole product. From the backend to the store, at the helm — every technical, product, and operational decision lands on me.
Multi-platform parity
A new feature lands on every platform of the product the same day. The server stays strictly backwards-compatible — a user who never updates their app never sees an error.
Defensive coding
No blind trust in user input: validation at every layer, solid authentication, explicit authorization. Security isn't an afterthought — it's designed in from the first version.
Always a back-office
Every product has its own dedicated back-office. Moderation, editing, day-to-day operations, edge cases — all run through a purpose-built interface, never through SQL queries written by hand.
Operational rigor
Structured logs, error tracking in production, reproducible infra locally and in prod. A product should hold its own — the infrastructure alerts me to problems, not the users.
Pragmatic tooling
I have no default stack. For each problem, I pick the technology that fits the product's context — not for trend, not for comfort, but because it's the best placed to last.