Sanity in Code: The 5 Plugins I Install in Every Project
I've been building digital products for five years. I've watched projects die not from lack of users, but from lack of mental sanity on the team.
A project that collapses mentally is worse than one that fails in the market. Because in the market you learn fast. In the mind, the damage is slow, silent, and cumulative.
Recently, while building an AI agent with Claude, I realized something: the plugins I install in my development stack aren't about features. They're about keeping my head in one piece.
What is "sanity" in programming?
I'm not talking about mental health (though it's related). I'm talking about the ability to make rational decisions when you have 47 tabs open, three overlapping deadlines, and a bug that only appears on Wednesdays.
Sanity = ability to maintain clear context.
Sanity = not rewriting the same component three times because you forgot it already exists.
Sanity = being able to sleep without thinking "what if the deploy breaks everything?"
That's achieved with tools. Not sophisticated tools. Tools that make your life simpler.
The 5 Non-Negotiable Plugins
#### 1. Vision (or any visual documentation plugin)
The problem: Developers document in Notion, in README, in scattered comments. Nobody reads it.
What you need: A way to see your project at a glance. Clear folder structure, updated flow diagrams, visible architectural decisions.
I use a plugin that integrates Mermaid diagrams directly into the editor. When I create a new feature, I draw the flow first. That forces me to think before I code.
``` graph TD A[User Input] --> B{Validation} B -->|Valid| C[Process Data] B -->|Invalid| D[Return Error] C --> E[Update State] E --> F[Render UI] ```
Without this, you end up with spaghetti logic that only you understand (and in three months, not even you).
#### 2. Color Input (or any data visualization plugin)
The problem: You spend hours debugging values you can't see. Arrays, objects, states that change in real time.
What you need: A way to see exactly what's happening in your application without console.log every five lines.
A plugin that shows you your application state in real time, with colors, with clear structure. When you work with Supabase or external APIs, this is critical.
Without it, you debug blind. With it, you see the problem in three seconds.
#### 3. Media Library (or any asset management plugin)
The problem: You upload images, lose them, upload them again. Different versions in different places. Chaos.
What you need: A centralized system for all your assets. Easy to search, with versioning, integrated with your development flow.
In my case, I use a plugin that integrates directly with Supabase Storage. I upload an image, it gets optimized automatically, the URL is generated, it's registered in the database. All in one click.
Without this, you waste valuable time on tasks that aren't product building.
#### 4. The Context Plugin (your secret weapon)
This doesn't have a specific name, but it's the most important.
I've probably written about this in "Context Engineering" before, but it's worth repeating: your file structure is your mental interface.
I use a plugin that keeps me a clear view of:
- Where components are
- Where business logic is
- Where custom hooks are
- Where TypeScript types are
When you context-switch (and you do constantly), you need to recover context quickly. Without this, you lose valuable minutes every time you touch the code.
``` project/ ├── app/ │ ├── dashboard/ │ │ ├── page.tsx │ │ └── layout.tsx │ └── api/ ├── components/ │ ├── ui/ │ └── features/ ├── lib/ │ ├── db/ │ ├── api/ │ └── hooks/ └── types/ └── index.ts ```
The structure is the plugin. Clarity is the result.
#### 5. Community Plugins (the feedback loop)
This is the one many ignore: the community.
I'm not talking about using popular plugins just because. I'm talking about connecting with other developers solving the same problems.
When you use a community plugin (a library, a tool, a framework), you're tapping into collective intelligence. Someone already went through the same problem. The solution already exists.
This saves you mental sanity exponentially.
I use:
- **Next.js** because it solves 80% of architectural decisions for you
- **Supabase** because I don't want to think about databases
- **Claude Code** because I don't want to write boilerplate
- **Vercel** because I don't want to think about deployment
Each tool I choose is a decision I delegate to experts. That leaves me mental space for what really matters: solving the user's problem.
The Pattern Behind It All
All these plugins have something in common: they reduce cognitive friction.
They're not about being more productive. They're about being more sane.
When you work without these plugins, your mind is constantly:
- Searching for information
- Remembering past decisions
- Worrying about details it shouldn't be worrying about
When you work with the right plugins, your mind is free to:
- Solve real problems
- Think about the user
- Make strategic decisions
How to Apply This to Your Project Today
1. Audit your current setup: Where do you lose the most time or mental energy? 2. Find a plugin for that point: Typically something exists that solves exactly that. 3. Integrate it into your flow: Installing isn't enough. It has to be part of your daily process. 4. Teach your team: If you work in a team, make sure everyone uses the same plugins. Consistency is sanity.
The Takeaway
The difference between developers who scale and those who burn out isn't talent. It's mental architecture.
And mental architecture is built with tools that let you think clearly.
Don't install plugins because they're trendy. Install the ones that solve your specific problems. Those are the only ones that will keep you sane.
This week, look at your project. Identify one point where you lose mental sanity. Find a plugin that solves it. Integrate it.
Productivity comes after. Sanity comes first.