Blog
What I test, what works, what I learn building in public. I'm learning AI engineering out in the open — no bullshit.
$ ls ~/blog/upcoming
soonSoon: token cost, step by step
How to estimate what an AI feature will cost before writing it, Monday at 8am.
soonBientôt : le modem, maillon faible
La checklist pour choisir le modem d'une passerelle SMS, mardi à 8h.
Bientôt : le webhook rejoué
Pourquoi « exactement une fois » n'existe pas sur réseau instable — et comment on rend « au moins une fois » inoffensif. Mardi 8h.
soonSoon: break the network on purpose
A practical test plan for offline-first apps, Thursday at 8am.
soonBientôt : RAG ou fine-tuning ?
Comment choisir entre RAG et fine-tuning sans se tromper de problème, lundi à 8h.
soonBientôt : Loi 25, colonne par colonne
Comment une loi sur la vie privée a réécrit mon schéma PostgreSQL, mardi à 8h.
Bientôt : commerce 0/11
Pourquoi la catégorie la plus dure de mon benchmark reste à zéro — et ce que le kappa de Cohen a à voir là-dedans. Mardi 8h.
soonSoon: replaying an offline queue
Five mistakes that lose or duplicate offline data, Thursday at 8am.
soonSoon: embeddings, by hand
A 10-minute exercise that makes embeddings click, Monday at 8am.
soonBientôt : quand le SMS est la preuve
Les coulisses de la réconciliation des paiements par SMS, mardi à 8h.
Soon: money is not a number
Why a float is the wrong container for money, and the bug it ships straight to the invoice. Wed 8am.
soonSoon: stop caching everything
Why cache-everything is a bad idea for an online shop, Thursday at 8am.
soonBientôt : température 0, mythe ou remède ?
Pourquoi la température ne règle pas les hallucinations, lundi à 8h.
soonSoon: $0.18 or $0.17?
A one-cent tax rounding question with a real design lesson, Tuesday at 8am.
soonSoon: contain, don't trust
Why "is this repo safe?" is the wrong question. Wednesday 8am.
soonBientôt : migrer sans couper le service
Migrer une base PostgreSQL sur un seul serveur sans interruption, jeudi à 8h.
soonBientôt : contexte n'est pas mémoire
Quatre idées fausses sur la fenêtre de contexte des LLM, lundi à 8h.
soonBientôt : versionner la formule de score
Mardi 17 novembre à 8h : pourquoi un score d'audit doit porter le numéro de sa formule.
soonSoon: two licenses, on purpose
Code and data don't ask for the same freedom. Wednesday 8am.
soonSoon: normalizing ten tools to SARIF
Thursday, November 19 at 8am: how I force every scanner into one format.
soonSoon: prompt injection, myths vs reality
Monday, November 23 at 8am: why prompt injection is an architecture problem.
soonBientôt : posséder vraiment son code
Mardi 24 novembre à 8h : pourquoi je choisis une plateforme IA sur sa porte de sortie.
soonBientôt : j'ai arnaqué mon agent
Trois pièges, zéro validation, et la vraie raison. Mercredi 8h.
soonSoon: Playwright waits vs a virtual clock
Thursday, November 26 at 8am: why I moved every wait out of the browser.
soonBientôt : les permissions d'un agent IA
Lundi 30 novembre à 8h : la checklist que j'applique avant de donner un outil à un agent.
soonSoon: API vs browser connectors
Tuesday, December 1 at 8am: why the risky path should be a choice, not a fallback.
soonSoon: dead code, open door
The file nobody calls that could still confirm a payment. Wednesday 8am.
soonSoon: deduplicating findings across tools
Thursday, December 3 at 8am: why line numbers make terrible identities.
soonSoon: a 5-task challenge to evaluate your agent
Monday, December 7 at 8am: an evening exercise to see if you can trust your agent.
soonSoon: the spinner question
Tuesday, December 8 at 8am: what a spinner should do when stdout is not a terminal.
soonBientôt : ton téléphone n'est pas le leur
Pourquoi le JavaScript coûte plus cher que le réseau sur un Android d'entrée de gamme, mercredi à 8h.
soonBientôt : 5 erreurs d'hygiène CI
Jeudi 10 décembre à 8h : cinq failles qui laissent ton pipeline vert.
soonBientôt : les sorties structurées d'un LLM
Lundi 14 décembre à 8h : pourquoi un JSON valide ne suffit pas.
soonBientôt : le workflow entre annotateurs de kamerlang-bench
Comment un item passe de mon brouillon à « validé » (ou à la poubelle), mardi à 8h.
soonBientôt : le prix de ta page en data
Un défi pour convertir le poids de ta page d'accueil en francs CFA, mercredi à 8h.
soonSoon: reviewing your own code
My checklist for code review when nobody else reads the diff, Thursday at 8am.
soonSoon: what I wish I knew starting AI engineering
Six lessons from my first three months of learning AI in public, Monday at 8am.
soonBientôt : 2026, l'année où j'ai arrêté de construire en silence
Une rétro honnête de l'année, sans chiffres gonflés, mardi à 8h.
soonSoon: six boring tools I'm taking into 2027
The unglamorous tools that kept solving real problems this year, Monday at 8am.
soonBientôt : quatre convictions discutables pour 2027
Mes paris produit et IA pour l'année qui vient, et ce qui me ferait changer d'avis, mardi à 8h.
soonSoon: my January AI study reset checklist
The checklist I run before restarting my AI study plan after the holidays, Monday at 8am.
soonBientôt : un benchmark public peut-il rester propre ?
Quatre options contre la contamination des données, et je vous demande de trancher, mardi à 8h.
soonBientôt : un ticket WiFi est un contrat
Ce qu'un SaaS de gestion de FAI m'a appris sur les règles métier cachées, mercredi à 8h.
soonSoon: permission tiers for a personal voice assistant
How I decide what Jarvis may read, draft, do or never touch, Thursday at 8am.
soonSoon: find the leak in this train/test split
A short challenge on train, validation and test splits, with the answer, Monday at 8am.
soonBientôt : confirmer à la voix ou à l'écran ?
Le comparatif des modes de confirmation que je teste sur Jarvis, mardi à 8h.
soonBientôt : l'abonnement SaaS en Mobile Money
Comment concevoir un abonnement quand c'est le client qui déclenche chaque paiement — mercredi 13 janvier à 8h.
soonSoon: cursor vs offset
What "next page" really means when the data keeps moving, Thursday at 8am.
soonSoon: when not to use AI in a product
The five cases where I keep the model out of the feature — Monday, January 18 at 8am.
soonBientôt : écrire son critère d'arrêt avant de commencer
Le petit document qui évite de traîner un projet mort pendant des mois — mardi 19 janvier à 8h.
soonBientôt : vente terrain ou croissance virale ?
Le comparatif que j'applique à mes idées de produit avant de choisir comment les lancer — mercredi 20 janvier à 8h.
soonSoon: behind a client construction dashboard
How Firestore rules keep each client inside their own construction site — Thursday, January 21 at 8am.
soonSoon: two scores for RAG
How to evaluate retrieval and generation separately in a RAG pipeline, Monday at 8am.
soonBientôt : une idée de SaaS pour les écoles privées
Quatre hypothèses et le guide d'entretien que j'utiliserai avant d'écrire du code — mardi 26 janvier à 8h.
soonBientôt : un comparateur crypto/FCFA qui ne touche pas aux fonds
Quatre mythes sur la valeur d'un comparateur neutre — mercredi 27 janvier à 8h.
soonSoon: design a unified Mobile Money SDK
A design challenge with constraints and my own draft interface — Thursday, January 28 at 8am.
soonSoon: a mini-glossary of small models
Eight terms to decide when a small model is enough — Monday, February 1 at 8am.
soonBientôt : 5 erreurs dans un devis freelance
Ce qu'un devis de développeur doit dire pour éviter les mauvaises surprises — mardi 2 février à 8h.
soonBientôt : facturation FCFA/OHADA, les questions avant le code
La checklist que je dois faire valider par des comptables avant d'écrire une ligne — mercredi 3 février à 8h.
soonSoon: one domain, two answers
What a split-brain DNS on my own domain taught me about vantage points, Thursday at 8am.
soonSoon: the token tax of a language
A method to measure how many tokens your users' language really costs, Monday at 8am.
soonBientôt : l'article avant le post
Les coulisses de mon système de production de contenu technique, mardi à 8h.
soonBientôt : la souveraineté, c'est pouvoir partir
Pourquoi je pense que la souveraineté numérique se joue d'abord dans nos choix de code, mercredi à 8h.
soonSoon: throw or Result?
A practical comparison of the two ways a TypeScript function can fail, Thursday at 8am.
soonBientôt : le modèle parle français, et alors ?
Quatre mythes sur l'IA et le français camerounais, lundi à 8h.
soonBientôt : le remote depuis Douala, sans filtre
Ce que j'aurais aimé savoir avant de travailler à distance depuis Douala, mardi à 8h.
soonSoon: logs that respect the data bundle
A step-by-step approach to observability for apps on weak connections, Wednesday at 8am.
soonBientôt : ton secret est encore dans Git
La checklist de gestion des secrets que j'applique à chaque projet, jeudi à 8h.
soonSoon: learning AI after dark
An honest look at the second half of my six-month AI learning plan, Monday at 8am.
soonBientôt : à vous de choisir pour JavaScript.cm
Quatre directions possibles pour JavaScript.cm, et un sondage ouvert, mardi à 8h.
soonSoon: wa.me or WhatsApp API?
When a small shop should move from a wa.me link to the WhatsApp Business API, Wednesday at 8am.
soonBientôt : ce que l'écriture m'a appris
Une rétrospective honnête de cette série de posts, jeudi à 8h.
Welcome — I'm learning AI engineering in public
Why I'm documenting my move into AI in French, failures and all.
Why I'm building JavaScript.cm
A rallying point for French-speaking JavaScript devs in Cameroon — the AdonisJS + Inertia call, and where I really stand.
FSRS spaced repetition + native Stockfish in React Native
How I integrated the FSRS algorithm and a native Stockfish engine (no WebView) into an Expo app, with a mock fallback so I can code without a native build.
Digitizing customs clearance: lessons from TransitSoft
Model a shipment's lifecycle before the screens, keep things consistent across branches, and hold up to the field constraint of no network.
An internal WhatsApp API with Baileys (no Chromium)
Why and how I built a reusable WhatsApp channel: browserless Baileys, a rate-limited queue, real-time statuses, and an npm SDK.
iPhone Cameroon: an Apple showroom that cashes in via Mobile Money
Nailing the apple.com feel (GSAP, Lenis, 3D R3F) while getting paid through MoMo/Orange Money: a single Zod contract, server-side re-pricing, and a signed webhook.