9 March 2026
Constraint as Software
The Question
Tab Restrain came from a behavior I know too well: open more tabs, then more again, then slowly lose any sense of focus. Browser clutter is not just messy, it changes how you work. The idea here was not better tab management, but stricter limitation. Could a browser extension impose enough constraint to make me noticeably better on the computer?
The underlying hypothesis was that some people do not need more flexibility. They need a boundary. A hard cap of five tabs felt like the clearest possible version of that idea.
The Build
I built this in Replit, which made the experiment slightly awkward because browser extensions are one of those things you cannot properly preview in the same environment where you build them. That meant a lot of the process initially felt like a shot in the dark. I had to figure out how to export the right packaged folder, zip it correctly, then load it manually into Chrome as an unpacked extension.
Once I got over that hurdle, the satisfying part was how direct the result was. I loaded it into Chrome and it simply worked. The extension enforced the tab limit and did the literal job it was meant to do. It is not polished yet, especially when you hit the cap and get the current error behavior, but the core mechanic is real and already useful.
The Outcome
The experiment validated the core idea quickly: constraint can be a product. I do think this would help people who benefit from external friction as a productivity aid, especially anyone prone to browser sprawl. The roughness is in the UX, not in the concept.
The surprise was how feasible the build was despite the testing limitations. I expected extension packaging and Chrome loading to be the blocker. Instead, once I understood the flow, the whole thing clicked into place. The next work is mostly about refinement: make the feedback at the tab limit less ugly, and decide whether this is just a personal utility or something worth publishing properly.
Tech Stack
Chrome extension APIs, Replit, JavaScript, browser packaging, tab management logic