Why I Build Browser and Editor Extensions
Extensions are underrated. They live inside tools people already use every day — browsers and editors — and they can have an outsized impact on productivity with minimal surface area.
The Appeal of Small Software
Not everything needs to be a full app. Sometimes the best tool is a tiny extension that does one thing well:
- A Safari extension that cleans up cluttered web pages
- A Chrome extension that captures and organizes bookmarks intelligently
- A VS Code extension that streamlines a repetitive workflow
These are small bets with high payoff. The distribution is built-in — app stores and marketplaces handle discovery.
Cross-Browser, Cross-Editor
Building extensions across Safari, Chrome, and VS Code means working with three different APIs. But the mental model is similar: you’re augmenting an existing host application with focused functionality.
// VS Code extension activation
export function activate(context) {
const command = vscode.commands.registerCommand(
'darthcoder.doSomething',
() => { /* focused functionality */ }
);
context.subscriptions.push(command);
}
The constraint of working within a host app’s sandbox is actually freeing. You don’t need to build the entire UI from scratch. You just need to solve the problem.
What I’ve Learned
- Start small — ship a v1 that does one thing perfectly
- Respect the platform — follow the host app’s UX conventions
- Iterate based on feedback — real users surface edge cases you never imagined
More extensions are in the pipeline. Each one will be documented here with the thinking behind it.