Main projectProjet principal
Aquaryslaboratory operations platformplateforme d'opérations de laboratoire
What it isA web app that digitizes the daily operations of a water-treatment laboratory — replacing paper logs, phone coordination and scattered spreadsheets with one shared tool for the field and lab teams.
Ce que c'estUne app web qui digitalise les opérations quotidiennes d'un laboratoire de traitement des eaux — elle remplace le papier, la coordination par téléphone et les fichiers Excel éparpillés par un outil partagé entre les équipes terrain et labo.
What it doesSampling rounds are planned and tracked, field entries work offline on an installable PWA, analysis results are followed in real time, reagent stock is visible at a glance, and each role across the field and lab teams gets its own dashboard and push notifications.
Ce qu'elle faitLes tournées de prélèvement sont planifiées et suivies, la saisie terrain fonctionne hors-ligne sur une PWA installable, les résultats d'analyse sont suivis en temps réel, le stock de réactifs est visible d'un coup d'œil, et chaque rôle, côté terrain comme labo, a son tableau de bord et ses notifications push.
HowNext.js (App Router, Server Components & Actions) on PostgreSQL — relational schema, authentication enforced by Row-Level Security and role-based access (RBAC). Auth, Postgres and RLS in one stack, no separate backend — shipping fast, solo.
CommentNext.js (App Router, Server Components & Actions) sur PostgreSQL — schéma relationnel, authentification verrouillée par Row-Level Security et accès par rôles (RBAC). Auth, Postgres et RLS dans une seule stack, sans backend séparé — livrer vite, en solo.
ResultLive at aquarys.io on Vercel / Cloudflare, with data hosted in France — production-ready and currently being evaluated for internal adoption.
RésultatEn ligne sur aquarys.io via Vercel / Cloudflare, données hébergées en France — prêt pour la production et en cours d'évaluation pour une adoption interne.
Next.jsTypeScriptPostgreSQLRLS / RBACPWAVercelCloudflare
Visit aquarys.io →Voir aquarys.io →
SideQuest
A personal app that says which game to launch tonight — read from a Steam library, the free hour you actually have, and your mood. The recommendation is a local scoring engine, not a model call: every pick shows the components it scored on, so the explanation cannot drift from the maths.
Une app perso qui dit quel jeu lancer ce soir — à partir d'une bibliothèque Steam, du temps réellement dispo et de l'humeur. La reco est un moteur de score local, pas un appel modèle : chaque choix affiche les composantes sur lesquelles il a marqué, donc l'explication ne peut pas diverger du calcul.
Next.jsReactTypeScriptPWA
Try it live →Essayer en ligne →
GitHub →GitHub →
Lumeamy web studiomon studio web
My own studio: bespoke sites & web apps for freelancers and small businesses, taken end-to-end — design, development, deployment, domain.
Mon studio : sites et apps web sur mesure pour indépendants et petites entreprises, pris en charge de bout en bout — design, développement, déploiement, domaine.
Next.jsReactTypeScriptTailwindVercel
Visit Lumea →Voir Lumea →
Classifiledesktop app · document sortingapp desktop · tri de documents
A desktop app that sorts a folder of documents on its own — invoices, ID papers, insurance, housing — built for an accounting client on Windows. 100% local: no network, no cloud model. OCR reads the scans, and a keyword + naive-Bayes engine learns from every correction: from 69% to 98% correct on my test corpus. It never deletes or overwrites a file.
Une app desktop qui trie toute seule un dossier de documents — factures, papiers d'identité, assurances, logement — conçue pour un client comptable sous Windows. 100 % local : aucun réseau, aucun modèle dans le cloud. L'OCR lit les scans, et un moteur mots-clés + bayésien naïf apprend de chaque correction : de 69 % à 98 % de bons classements sur mon corpus de test. Elle ne supprime ni n'écrase jamais un fichier.
TauriRustReactTypeScriptOCR
Visit classifile.vercel.app →Voir classifile.vercel.app →
Vigiefield check-in for utility sitesrecensement terrain sur site industriel
A PWA for wastewater operators that replaces the morning phone call and the walk to the control room: field staff check in on a zone when they arrive, check out when they leave, and the control room sees who is where, since when — and can close a zone to new entries. Postgres with a dedicated non-bypassing role so Row-Level Security really applies, badge-and-PIN sign-in, end-to-end tests.
Une PWA pour les exploitants d'assainissement qui remplace l'appel du matin et le passage au poste de contrôle : les intervenants se recensent sur une zone en arrivant, se désinscrivent en partant, et le PC voit qui est où, depuis quand — et peut interdire une zone. Postgres avec un rôle applicatif sans contournement pour que la Row-Level Security s'applique vraiment, connexion par matricule et PIN, tests de bout en bout.
Next.jsTypeScriptPostgreSQL + RLSPWAPlaywright
Visit vigie-five.vercel.app →Voir vigie-five.vercel.app →
Avelyoquotes & invoices SaaSSaaS de devis et factures
A multi-tenant quoting and invoicing SaaS for tradespeople and small businesses. Each company is an isolated organisation — server-side anti-IDOR checks, deny-by-default roles, full audit log — with quotes turned into invoices and PDFs generated on the fly. Ready for France's e-invoicing reform: it produces Factur-X invoices (PDF/A-3 + EN 16931 XML) and sends them through a certified e-invoicing platform (OAuth 2.0 + PKCE, encrypted tokens). Live in production.
Un SaaS de devis et de facturation multi-entreprises pour artisans et TPE. Chaque entreprise est une organisation isolée — contrôles anti-IDOR côté serveur, rôles en refus par défaut, journal d'audit complet — avec devis convertis en factures et PDF générés à la volée. Prêt pour la réforme de la facturation électronique : il produit des factures Factur-X (PDF/A-3 + XML EN 16931) et les dépose sur une plateforme agréée (OAuth 2.0 + PKCE, jetons chiffrés). En production.
Next.jsTypeScriptPostgreSQLDrizzleBetter AuthFactur-X
Visit getavelyo.vercel.app →Voir getavelyo.vercel.app →
Life OSpersonal planning PWAPWA d'organisation perso
My own day planner, built on one rule: plan without pressure — no scores, no streaks, no guilt. Today, goals, projects and a weekly review, with work hours pinned to Paris time and converted wherever I am. Offline-first, synced across devices by a field-by-field merge, with real push notifications when the app is closed and iPhone Shortcuts bridges. In production, covered by 70+ automated tests.
Mon agenda du quotidien, construit sur une règle : planifier sans pression — ni score, ni série, ni culpabilité. Aujourd'hui, objectifs, projets et bilan hebdo, avec des horaires de travail calés sur l'heure de Paris et convertis là où je suis. Offline-first, synchronisé entre appareils par fusion champ par champ, avec de vraies notifications push app fermée et des ponts Raccourcis iPhone. En production, couvert par plus de 70 tests automatisés.
Next.jsTypeScriptPWAWeb PushRedisVitest