OpenNapse
From scattered ideas to shipped projects.
A local-first workspace that takes an idea through to a shipped project: capture, dashboard, Kanban, notes, graph, focus and stats. Web, PWA and Electron; IndexedDB, Docker self-hosting or Supabase; BYOK AI across OpenAI, Anthropic, Mistral, DeepSeek, Groq, OpenRouter and Ollama.
- Role
- Creator and maintainer
- Stack
- React 19
- TypeScript
- Vite
- Zustand
- IndexedDB
- Supabase
- Electron
- Docker

Context
OpenNapse started from a personal need: keep a project's ideas, notes and tasks together instead of scattering them across several apps.
The product covers the full path, from capturing an idea to tracking a shipped project, with local memory and hosting options chosen by the user.
Constraints
- Local-first had to remain the default path, including offline.
- The same core had to run on the web, as a PWA and in Electron.
- AI had to stay optional and work with several providers, without forcing a proprietary key.
Decisions
IndexedDB as the local source
Project data lives in the browser first. Supabase or a Docker instance can serve as a hosted backend.
Trade-offThe local promise is strong, but cross-device sync depends on the backend you choose.
A graph rather than a single list
Ideas, notes and tasks can be linked. The graph surfaces relationships that a flat list hides.
Trade-offA richer view demands more attention to legibility and performance on large projects.
BYOK across seven providers
OpenAI, Anthropic, Mistral, DeepSeek, Groq, OpenRouter and Ollama are supported. The user chooses the model and the key.
Trade-offMulti-provider support adds testing overhead, but avoids locking the product into one vendor.
Method
Specify
The local-first model, the storage contract and the BYOK constraints are fixed before the breakdown.
Orchestrate
Agents on separate scopes (views, storage, AI), with shared data contracts.
Verify
Architecture and data access reviewed, behaviour tested on web, PWA and Electron before merging.
Architecture
Interface
- React 19
- TypeScript
- Vite
- Zustand
Application
- Capture
- Dashboard
- Kanban
- Notes
- Graph
- Focus
Data & infra
- IndexedDB
- Supabase
- Electron
- Docker
A local core, three ways to host it, one project workspace.
Delivered
- Idea capture, dashboard, Kanban, notes and graph.
- Focus mode, project stats and project memory.
- Web, PWA and Electron builds.
- IndexedDB storage, the Supabase option and Docker self-hosting.
- BYOK AI across seven providers.
- The project is released under the MIT license.
What I would do differently
I would simplify first launch further: fewer storage choices visible before the user has created a first project.