
Tabby
Close every tab. Lose nothing. A tab-management product I designed, built, and launched independently.
The Bet
Open tabs are often deferred intent: articles to read, tools to try, work to finish. People keep them open because closing them feels like losing the path back.
The product bet: could Tabby make closing tabs feel safe by preserving the intent behind them?
Project Snapshot
Role: Founder / Product Designer
Scope: Product strategy, UX, engineering, growth
Stack: React, Supabase, Stripe, PostHog, Meta
Status: Launched; validation underway

The Key Product Decision
Most SaaS products ask for registration before delivering value. I intentionally reversed that sequence.
Experience value first. Registration second.
/try → instant guest workspace → first tab saved
First save → soft signup prompt → continued use up to 5 tabs / 3 folders
Sixth tab → hard signup gate → OTP → safe workspace migration
Activation became the first user-created save—giving acquisition, UX, and analytics one shared definition of value.

Designing the Experience
I designed the journey around three principles that earned commitment instead of demanding it.
Fast first value: Remove account creation from the path to the first save.
Progressive commitment: Ask for more only after the product has proved useful.
Cross-device trust: Make saved intent portable, recoverable, and private.

The Hard Parts
1. Guest persistence: Guest saves locally first so the action feels instant; metadata and screenshots hydrate afterward without blocking the moment.

2. Migration without loss
OTP signup converts a temporary workspace into an account through an idempotent migration, so repeated requests cannot duplicate or drop saved data.

3. Extension, mobile, privacy
The extension and web app share one model; mobile uses a touch-native composer with no hover-only controls. Analytics capture funnel events—not tab URLs, titles, folders, or emails.

Building It Solo
AI expanded what I could execute independently across implementation, QA, analytics, and creative production. Product judgment, prioritization, UX decisions, taste, and final QA remained mine.

Designing the Growth Loop
Acquisition:
Meta ad → /try → immediate product experience
Paid traffic enters the product rather than a generic marketing page.
Activation + measurement:
First user-created save → PostHog behavior data → signup
The same activation event anchors product and campaign decisions.
Monetization + learning:
Soft prompt → signup → founder offer → Stripe
Signals determine whether the next iteration belongs in onboarding, message, channel, or creative.
Launch + Validation
Launched. Validation underway.
Technical validation: Guest migration, analytics, checkout, and the production purchase path have passed end-to-end testing.
Market validation: Paid acquisition is now the learning mechanism; there is not yet enough traffic to claim product-market or channel success.
What I’m Testing Next
Does guest-first increase first-save activation? Which constraint deserves the next iteration: onboarding, signup timing, message, channel, or creative?

Tabby
Close every tab. Lose nothing. A tab-management product I designed, built, and launched independently.
Close every tab. Lose nothing. A tab-management product I designed, built, and launched independently.
The Bet
Open tabs are often deferred intent: articles to read, tools to try, work to finish. People keep them open because closing them feels like losing the path back.
The product bet: could Tabby make closing tabs feel safe by preserving the intent behind them?
Project Snapshot
Role: Founder / Product Designer
Scope: Product strategy, UX, engineering, growth
Stack: React, Supabase, Stripe, PostHog, Meta
Status: Launched; validation underway

The Key Product Decision
Most SaaS products ask for registration before delivering value. I intentionally reversed that sequence.
Experience value first. Registration second.
/try → instant guest workspace → first tab saved
First save → soft signup prompt → continued use up to 5 tabs / 3 folders
Sixth tab → hard signup gate → OTP → safe workspace migration
Activation became the first user-created save—giving acquisition, UX, and analytics one shared definition of value.

Designing the Experience
I designed the journey around three principles that earned commitment instead of demanding it.
Fast first value: Remove account creation from the path to the first save.
Progressive commitment: Ask for more only after the product has proved useful.
Cross-device trust: Make saved intent portable, recoverable, and private.

The Hard Parts
1. Guest persistence: Guest saves locally first so the action feels instant; metadata and screenshots hydrate afterward without blocking the moment.

2. Migration without loss
OTP signup converts a temporary workspace into an account through an idempotent migration, so repeated requests cannot duplicate or drop saved data.

3. Extension, mobile, privacy
The extension and web app share one model; mobile uses a touch-native composer with no hover-only controls. Analytics capture funnel events—not tab URLs, titles, folders, or emails.

Building It Solo
AI expanded what I could execute independently across implementation, QA, analytics, and creative production. Product judgment, prioritization, UX decisions, taste, and final QA remained mine.
