Share browser tabs instantly. Drop links, sync in real-time, and launch them all at once.
TabDrop is a URL-based browser tab sharing application inspired by Dontpad.com. Simply navigate to any URL slug, drop your browser tabs, and share the collection with anyone. Perfect for research projects, team collaboration, reading lists, and daily workflows.
- URL-Based Collections - No sign-up required, just navigate to any slug
- Drag & Drop - Drop browser tabs directly onto the page
- Mobile-Friendly - Manual URL input for devices that don't support drag-and-drop
- Real-Time Sync - Changes sync instantly across all devices viewing the same collection
- Bulk Launcher - Open all saved tabs at once with a single click
- Clean UI - Modern design with dark mode support
- Public & Collaborative - Anyone with the URL can view, add, or remove links
- Framework: Next.js 14+ (App Router)
- Language: TypeScript (Strict mode)
- Styling: Tailwind CSS 4
- Icons: Lucide React
- Backend/Database: Supabase (PostgreSQL + Realtime)
npm install- Create a free account at supabase.com
- Create a new project
- Run the SQL from
supabase-schema.sqlin the SQL Editor - Enable Realtime for the
collectionstable (Database → Replication)
Create a .env.local file in the root directory:
NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
# Optional: Secure the cleanup cron endpoint
CRON_SECRET=your-secret-key-here
# Optional: Change expiration months for collections (default is 12)
NEXT_PUBLIC_CLEANUP_MONTHS=12Get these values from your Supabase dashboard (Settings → API). Generate CRON_SECRET with: openssl rand -base64 32
npm run devOpen http://localhost:3000 to see the app in action!
- Create a Collection - Navigate to
/your-collection-name - Drop Your Tabs - Drag browser tabs onto the drop zone or paste URLs manually
- Share & Sync - Share the URL with others; changes sync in real-time
- Launch All - Click "Open All Tabs" to open every link at once
Important: TabDrop is designed for public, collaborative use.
- Anyone with the collection URL can view, add, or delete links
- No authentication is required
- Links are stored in plain text
- Do not share sensitive or private URLs
- Push your code to GitHub
- Import the project in Vercel
- Add environment variables in the Vercel dashboard (including
CRON_SECRET) - Deploy!
Note: Vercel automatically configures the cleanup cron job from vercel.json on production deployments.
TabDrop can be deployed to any platform that supports Next.js:
- Netlify
- Railway
- Fly.io
- AWS Amplify
Make sure to configure environment variables for your Supabase connection.
TabDrop automatically deletes collections older than an specified number of months using Vercel Cron Jobs (runs daily at midnight UTC). You can customize the age threshold in the Environment Variables.
Configuration:
- Schedule: Edit
scheduleinvercel.json(default:0 0 * * *) - Age threshold: Edit
deleteOldCollections(2)inapp/api/cron/cleanup/route.ts - Manual test:
curl http://localhost:3000/api/cron/cleanup
- Research Projects - Collect and organize research links
- Team Collaboration - Share resources with team members
- Reading Lists - Save articles to read later
- Daily Workflows - Quick access to frequently used tools
- Event Planning - Share relevant links with attendees
- Learning Resources - Curate educational content
Allow pop-ups for your TabDrop domain in your browser settings.
- Verify Realtime is enabled in Supabase (Database → Replication)
- Check browser console for connection errors
- Verify environment variables are correct
- Check that the database table was created with proper RLS policies
- Look for errors in the browser console and Network tab
Contributions are welcome! Feel free to open issues or submit pull requests.
- Inspired by Dontpad.com
- Built with Next.js
- Powered by Supabase
- Styled with Tailwind CSS
- Icons by Lucide