Your browser, at ease.
Tabzen, Solo product
Description
A calm, local-first Chrome extension that turns your crowded browser into a quiet workspace. Tabs sorted, stale ones surfaced, focus when you need it.
Context
I owned the whole product end to end: design, branding, build, and release. Shipped it solo. The one constraint I set for myself: keep all browsing data local, always. No sync, no cloud, no LLM in the runtime.
Problem
Too many tabs, not enough attention
Most of us keep dozens of tabs open, half of them “I'll get to this later,” none findable when it actually matters. Every tab feels urgent, so focus quietly erodes. Every fix asks too much: replace your browsing habits, file everything by hand, or sync it all to a cloud you never opted into.
Tabzen takes a smaller, calmer position: help people structure the tabs they already have, act on them in one click, and keep everything local.
Approach
Three quiet jobs
A cluttered browser really comes down to three jobs: seeing what you have, setting things aside, and being able to focus. I scoped Tabzen to exactly those three, and gave each one its own calm surface (Current, Saved, Zen) instead of cramming everything into one panel.
Open the panel
Pin Tabzen to your toolbar. The side panel opens quietly, tabs sorted and colour-aged at a glance.
Settle what you don't need
Sweep stale tabs or save a group for later. Drag between windows. Nothing disappears until you decide.
Enter Zen
Tap the orb. Distractions move aside. What matters stays. The rest waits safely nearby.
Prototype
Try it
Three small things, done well. Tap through them.
- Linear – Roadmap
- Figma – Design system
- The Pragmatic Engineer
- GitHub – Notifications
Drag a tab to move · drag a window label to merge
Every open tab across windows, in one panel, grouped by window. One click to pin, save, or close. Drag one window onto another to merge them.
Features
A few things it does well
Gentle cleanup
Tabs untouched for days rise softly to the surface. Save or let go, at your own pace, no pressure.
Zen mode
One tap. Distractions fold away. Only what matters stays open. Everything else waits, safe and retrievable.
Smart groups
Tabs find their own clusters quietly: Work, Research, Reading. The right one is usually nearby.
Free hue and theme
Shift the hue, pick any accent color. Tabzen updates instantly and keeps your look quietly in the background.
Save, drag, return
Drag tabs between windows. Save a whole session in one click. They wait quietly until you come back.
Key decisions
The decision I'm proudest of: no LLM
Tabzen groups tabs by intent (Build & Work, Learning, Shopping, Media, Communication) plus a short list of priority sites that always get their own group. The obvious move in 2025 is to send those titles to an LLM. I didn't.
An LLM would buy
higher accuracy on ambiguous tabs.
It would cost
latency on every grouping, non-deterministic results, no offline support, and your browsing leaving the device.
For a tool whose whole promise is “calm and local,” that trade felt wrong. So I built a local, deterministic alternative instead: keyword extraction, intent matching, priority-site detection, multi-pass fallback. Less clever than a model, but instant, private, and reproducible. Knowing when not to reach for AI is part of the design.
I leaned on AI heavily while building, and deliberately kept it out of the runtime where it would cost users their privacy. Same tool, different jobs.
No network · deterministic · private · works offline
Under the hood
How it actually works
Expand the stack →
I'm a designer who builds. The short version:
| Layer | Choice | Why |
|---|---|---|
| Framework | Plasmo + React | Fast Chrome-extension setup; auto-manifest |
| Data | TanStack Query | Caches tab queries; refetch on focus |
| Motion | Framer Motion | Drag UI and the Zen bloom |
| Persistence | IndexedDB + Dexie | Local-first; schema versioning |
| Analysis | Web Worker + keyword matching | Off-main-thread; private; offline |
Local-first, no backend
Privacy is the product, not a setting.
Web Worker analysis
Grouping runs off the main thread; the UI never stutters.
Pragmatic monolith
One main component for a small surface; extract pieces when it earns it.
Takeaway
Takeaway
Tabzen is probably the clearest example of how I work: own the whole thing, ship something small that genuinely works, and use AI as a tool rather than a gimmick. Sometimes the most thoughtful decision is to leave it out entirely.