I built a local-first AI brain Skill and realized I do not need Notion AI
The real problem: thinking and recording were split apart
I did not begin this project because I wanted another tool. I tried Notion AI, quickly used its 20 free actions, and then stopped to think about a different problem.
I do not actually think inside Notion. Ideas usually appear while I am coding, stuck in a debugging session, or discussing architecture with AI in an IDE. Notion AI assumes that I am already writing in Notion. The two activities begin in different places.
Switching tools was making ideas disappear
I finally admitted something I had ignored: when recording an idea requires switching tools, roughly 80% of those ideas disappear immediately. Finishing the code always feels more urgent, so even important thoughts are lost.
That led to the opposite question: what if I captured ideas directly in the IDE? What if AI helped organize them without taking control of the process?
I did not need another notes app
I already had enough note-taking tools. What I lacked was a system that could capture an idea immediately, let AI organize it, never write without confirmation, keep a human in control, and store the primary data locally.
That idea became two projects: keeponfirst-local-brain and its Global Skill, keeponfirst-local-brain-skill.
Why a Skill instead of an app?
I did not want another interface. I already spend my day in Antigravity, Cursor, and other AI IDE conversations, so I made it a Global Skill. I can capture an idea from any workspace, repository, or kind of project without leaving the place where the thought occurred.
Human in the loop is the one non-negotiable rule
Local Brain follows one rule: AI may propose, but it may not commit. Every record goes through the same flow. AI classifies it as a Decision, Idea, Worklog, or Backlog item, produces a structured draft, shows a preview, and waits for approval before writing locally and synchronizing to Notion.
I eventually realized that the workflow resembles Git. AI opens a pull request, a person reviews it, and the change is merged only after approval. That was the moment I felt comfortable entrusting important decisions to the system.
Why local-first matters
People sometimes ask why I do not write directly to Notion if the records will be synchronized there anyway. The answer is simple: I am more willing to record important thoughts when the primary data stays on my own computer.
Local-first gives me psychological safety. A platform can change its policy, an API can fail, or I can replace the remote backend later without losing my exit. In this architecture, Notion is a useful remote interface, not the brain itself.
What comes next
I am still testing what a truly low-friction capture flow looks like, including its triggers, syntax, and boundaries. Once a pattern proves worth using over time, I will write a more complete technical breakdown.
If this sounds useful, take a look at keeponfirst/keeponfirst-local-brain and tell me what you think.