Full-stack developer
I build products people actually use.
Java / Spring Boot on the back end, Next.js and React on the front end. I also write about what AI changes in the way we work — and what it doesn't.
Open to roles and freelance work
Featured project
LingRiselingrise.app
Learn a language through authentic podcasts — 9 languages, in production, with paying users.
A language-learning platform built around authentic audio: synced transcripts, contextual vocabulary and listening-based progression. Designed, built and operated solo, from the database to the payment flow.
Next.js · React · TypeScript · PostgreSQL · pgvector · Stripe
- Multilingual semantic search (pgvector)
- A single vector index for all 9 languages: a French query surfaces the relevant Spanish passage. Hybrid semantic and lexical scoring keeps proper nouns easy to find.
- i18n all the way down to the data
- Content, transcripts and SEO metadata are localized per language with dedicated routing — not a cosmetic UI toggle.

Other work
What I've shipped elsewhere
Java / Spring Boot back end
E-commerce ebook platform
Catalogue, orders and protected file delivery for an e-commerce business: REST API, entitlement checks and expiring download links.
Java · Spring Boot · PostgreSQL · REST
Integrations & product features
Freelance engagements
Feature work on existing applications: third-party API integrations, authentication, dashboards and technical-debt cleanup.
React · TypeScript · Node · Supabase
An example of clean i18n
This site
Per-language routing (/fr, /en), localized SEO metadata per page, database-driven Markdown blog. The code is an example, not a showcase.
TanStack Start · React · PostgreSQL
Blog
Recent notes
What AI actually changes about software work
Not the end of code. A shift: less typing, more judgment, and new pressure on review.
Multilingual semantic search with pgvector
How 9 languages share one vector index without wrecking relevance.
Writing code, working with people
The hard part of a production product is almost never technical.
Contact
Let's talk.
Whether it's a role, a project or just a technical problem worth discussing, email is the easiest way to reach me.