OpenNapse
Des idées éparpillées aux projets livrés.
Un espace de travail local-first qui mène de l’idée au projet livré : capture, tableau de bord, Kanban, notes, graphe, focus et statistiques. Web, PWA et Electron ; IndexedDB, auto-hébergement Docker ou Supabase ; IA BYOK via OpenAI, Anthropic, Mistral, DeepSeek, Groq, OpenRouter et Ollama.
- Rôle
- Créateur et mainteneur
- Stack
- React 19
- TypeScript
- Vite
- Zustand
- IndexedDB
- Supabase
- Electron
- Docker

Contexte
OpenNapse est né d’un besoin personnel : retrouver les idées, les notes et les tâches d’un projet sans les disperser entre plusieurs applications.
Le produit couvre le parcours complet, de la capture d’une idée au suivi d’un projet livré, avec une mémoire locale et des options d’hébergement choisies par l’utilisateur.
Contraintes
- Le mode local-first devait rester le chemin par défaut, y compris hors ligne.
- Le même cœur devait fonctionner sur le web, en PWA et dans Electron.
- L’IA devait rester optionnelle et compatible avec plusieurs fournisseurs, sans imposer une clé propriétaire.
Décisions
IndexedDB comme source locale
Les données du projet vivent d’abord dans le navigateur. Supabase ou une instance Docker peuvent servir de backend hébergé.
CompromisLa promesse locale est forte, mais la synchronisation entre appareils dépend du backend choisi.
Un graphe plutôt qu’une seule liste
Les idées, notes et tâches peuvent être reliées entre elles. Le graphe rend visibles les relations qu’une liste plate cache.
CompromisUne vue plus riche demande plus d’attention à la lisibilité et à la performance sur les gros projets.
BYOK sur sept fournisseurs
OpenAI, Anthropic, Mistral, DeepSeek, Groq, OpenRouter et Ollama sont pris en charge. L’utilisateur choisit son modèle et sa clé.
CompromisLe support multi-fournisseurs ajoute de la charge de test, mais évite d’enfermer le produit dans un seul fournisseur.
Méthode
Spécifier
Le modèle local-first, le contrat de stockage et les contraintes BYOK sont fixés avant le découpage.
Orchestrer
Agents sur des périmètres séparés (vues, stockage, IA), avec des contrats de données communs.
Vérifier
Architecture et accès aux données relus, comportement testé sur web, PWA et Electron avant fusion.
Architecture
Interface
- React 19
- TypeScript
- Vite
- Zustand
Application
- Capture
- Tableau de bord
- Kanban
- Notes
- Graphe
- Focus
Données & infra
- IndexedDB
- Supabase
- Electron
- Docker
Une base locale, trois façons de l’héberger, un seul espace de projet.
Livré
- La capture d’idées, le tableau de bord, le Kanban, les notes et le graphe.
- Le mode focus, les statistiques et la mémoire de projet.
- Les versions web, PWA et Electron.
- Le stockage IndexedDB, l’option Supabase et l’auto-hébergement Docker.
- L’IA BYOK sur sept fournisseurs.
- Le projet est publié sous licence MIT.
Ce que je ferais différemment
Je simplifierais encore le premier lancement : moins de choix de stockage visibles avant que l’utilisateur ait créé son premier projet.