Voir les projets

Projet · web · 2026 · En ligne

Kairn

Application de répétition espacée. On dépose un texte ou la photo d'une page, elle en tire des concepts et les repose juste avant l'oubli.

Année
2026
Statut
En ligne
Périmètre
Conception → développement → mise en prod
kairn.me
scroll au survol · clic pour ouvrir le site
Stack
Next.js 15React 19PostgreSQLPrismaOpenRouterts-fsrsbetter-authStripe
Voir en ligne · kairn.mekairn.me

Contexte

On lit beaucoup, on retient peu. Kairn prend un dépôt libre — une phrase, un pavé collé, une capture d'écran — et en tire des concepts unitaires, chacun avec jusqu'à quatre formulations de question. On dépose depuis la page publique sans compte ; la connexion se fait ensuite par code à six chiffres, il n'y a de mot de passe nulle part.

Trois décisions

01
Un seul chemin vers le modèle, des ponts interchangeables derrière : interrupteur, mode fixtures, réservation de quota et validation stricte tiennent dans callAI(), OpenRouter et le SDK Anthropic ne sont que des émetteurs. Quand un appel échoue, Sonnet reprend par la même route et la bascule est tracée.
02
Le quota se réserve, il ne se compte pas : une instruction SQL incrémente et refuse dans le même mouvement. Compter les appels déjà émis avant d'émettre serait une course.
03
Un webhook Stripe plus ancien ne peut pas écraser un plus récent : la règle est une fonction pure testée, répétée dans le WHERE de l'UPDATE. C'est Postgres qui tranche la course entre deux webhooks parallèles.
Projet suivant

DevisRapide

Plateforme belge de mise en relation particuliers ↔ artisans. Modèle pay-per-lead : l'artisan paie au lead depuis un wallet rechargeable, zéro abonnement.