Why I Built 5 Local-First Utilities This Week (and Ditched SaaS Wrappers)
Published: 2026-10-11 · 7 min read · Poorvith M P
Why I Built 5 Local-First Utilities This Week (and Ditched SaaS Wrappers)
**Published:** October 11, 2026
**Author:** Poorvith M P
**Platform Link:** [Read on X](https://x.com/poorvith_mp/status/2109111343563657417)

I hit a breaking point this week with paid cloud developer tools.
Every time a minor friction point broke my local setup - a zombie port on Windows 11, invisible Unicode tracking in AI-generated text, or an agent hallucinating bash flags - someone tried to sell me another $20/month SaaS subscription.
I don't need a cloud dashboard to tell me a background process locked port 3000. I just need a fast, local binary that executes and fails closed in under 20 milliseconds.
For the last couple of months, I built five single-purpose local-first utilities to solve the exact friction I run into daily.
Here is what I built, why I built them, and what you get from each:
### 1. AIScrubber
**The problem:** Frontier AI models quietly embed zero-width spaces, bidi overrides, and unicode tracking markers into generated code and documentation.
**Why I built it:** I was tired of invisible tracking artifacts polluting my git commits and messing with file diffs. It's a foundation of the repo: [guillaumemeyer/watermarks-remover](https://github.com/guillaumemeyer/watermarks-remover).
**What you get:** A fast, local CLI that scrubs invisible Unicode characters and normalises text before you commit.
- **Repo:** [poorvith-mp/aiscrubber](https://github.com/poorvith-mp/aiscrubber)
### 2. EnvPreflight
**The problem:** You clone a repository, run `npm run dev` late at night, and it crashes instantly because a background process locked port 3000. Existing tools run bloated Docker checks or shell loops that hang for 4 seconds.
**Why I built it:** I got sick of hunting down ghost PIDs manually on Windows 11.
**What you get:** Runs native TCP connection checks in 18ms instead of 4,000ms. It spots listening ports, flags missing environment variables, and identifies the exact conflicting PID before your server boots.
- **Repo:** [poorvith-mp/envpreflight](https://github.com/poorvith-mp/envpreflight)
### 3. SafeGen
**The problem:** Letting AI agents run terminal commands without validation is an accident waiting to happen. Models easily hallucinate destructive flags or malformed JSON arguments.
**Why I built it:** I needed a deterministic gate outside the model turn to intercept dangerous parameters before execution.
**What you get:** A deterministic validator that checks generated CLI commands against strict schemas and exit codes before anything touches your machine.
- **Repo:** [poorvith-mp/safegen](https://github.com/poorvith-mp/safegen)
### 4. Skillary
**The problem:** Coding agents lose context or hallucinate CLI flags when switching between different frameworks and projects.
**Why I built it:** Google adopted the open SKILL.md standard, so I updated Skillary to support Gemini, Antigravity, and Claude CLI natively.
**What you get:** A central registry of 277 verified, single-purpose skills that local agents can discover and run on demand without burning context.
- **Repo:** [poorvith-mp/skillary](https://github.com/poorvith-mp/skillary)
### 5. Skillary Agents (What I'm wiring together this week)
**The problem:** Running multiple agents in parallel usually leads to race conditions, dropped tasks, or unmonitored shell loops.
**Why I'm building it:** I'm currently wiring this to connect our 277 skills into deterministic, multi-agent loops that can delegate subtasks locally without losing state. Incoming this week.
---
All of these are free, open-source, and built to run on your local machine with zero external tracking.