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) ![Why I Built 5 Local-First Utilities Cover](/blog-assets/why-i-built-5-local-first-utilities/cover.jpg) 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.

Back to Blog