AILocal-firstNotionIDESkillIndie Dev

I built a local-first AI brain Skill and realized I do not need Notion AI

··3 min read

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.