Save tabs. AI tags them. Find anything instantly.
TabMind is an AI-powered tab manager — a Chrome extension + web app that automatically summarises and tags every browser tab you save, so you can find anything weeks later without remembering the URL.
- One-click save — click the extension to save all open tabs instantly
- AI summarisation — every tab gets a one-sentence summary automatically
- Auto-tagging — Gemini AI tags each tab by topic, type, and domain
- Smart collections — AI suggests which collection each tab belongs to
- Full-text search — find any tab by title, summary, URL, or tag
- Responsive dashboard — manage your tabs from any device
- Google OAuth — sign in with one click, no passwords
- Cashfree payments — upgrade to Pro with a single click
| Layer | Tech |
|---|---|
| Framework | Next.js (App Router) |
| Language | TypeScript |
| Styling | Tailwind CSS + shadcn/ui |
| Database | Supabase (Postgres + RLS) |
| Auth | Supabase Auth (Google OAuth) |
| Payment Gateway | Cashfree |
| AI | Google Gemini 2.0 Flash |
| Extension | Chrome Manifest V3 |
| Deployment | Vercel |
- Node.js 18+
- pnpm
- A Supabase account
- A Google AI Studio API key (free)
git clone https://github.com/sanjayng125/tab-mind.git
cd tab-mind
pnpm installcp sample.env .env.localFill in your .env.local:
NEXT_PUBLIC_APP_URL=your_app_url
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY=your_supabase_publishable_key
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key
GEMINI_API_KEY=your_gemini_api_key
CASHFREE_APP_ID=your_cashfree_app_id
CASHFREE_SECRET_KEY=your_cashfree_secret_key
CASHFREE_ENV=your_cashfree_env # (production or sandbox)Run the SQL in schema.sql in your Supabase SQL editor to create the tables, indexes, RLS policies, and auto-profile trigger.
pnpm dev- Open
chrome://extensions - Enable Developer mode (top right)
- Click Load unpacked
- Select the
extension/folder
profiles -- auto-created on signup, stores plan (free/pro)
tabs -- saved tabs with AI summary, tags, favicon
collections -- user-created folders for organising tabsAll tables have Row Level Security (RLS) — users can only access their own data.
User clicks "Save tabs" in extension
→ extension sends each tab URL to /api/ai/summarise
→ server scrapes the webpage with cheerio
→ cleaned text is sent to Gemini 2.0 Flash
→ Gemini returns a summary, 2-4 tags, and a suggested collection
→ saved to Supabase and shown in the dashboard
Duplicate URLs and tracking params (utm_*, fbclid etc.) are stripped automatically.
/ (landing page)
└── /login → Google OAuth → /auth/callback → /dashboard
Extension:
→ calls /api/extension/me with session cookie
→ if valid session → logged in
→ if not → shows "Open TabMind" to sign in on web
The web app is deployed on Vercel. To deploy your own:
- Push to GitHub
- Import on vercel.com
- Add environment variables
- Update Supabase redirect URLs to your prod domain
- Update
APP_URLinextension/popup.jsto your prod URL
Built by Sanjay.