Skip to content

LasseyMiracle/tabvault

Repository files navigation

πŸ—‚οΈ Miracle's TabVault - Smart Tab Manager

Miracle's TabVault Banner

React TypeScript Tailwind CSS Vite License Built with AI

Never lose an important tab again! Miracle's TabVault helps you save, organize, and find your important browser tabs quickly. Perfect for researchers, developers, and anyone who works with many tabs.


πŸ€– Built with AI / Vibe Coding

This project was built using "Vibe Coding" - a collaborative approach between human creativity and AI assistance. I used GitHub Copilot (Claude) to help design, implement, and debug this complete tab management system.

What is Vibe Coding?

Vibe Coding is about describing what you want to build in natural language and collaborating with AI to bring it to life. Instead of writing every line of code manually, you:

  1. Describe the problem you're trying to solve
  2. Iterate with AI on the solution design
  3. Guide the implementation with your domain knowledge
  4. Refine and test together

Why This Matters

  • πŸš€ Faster Development - Built a complete full-stack app with browser extension in hours, not weeks
  • 🎯 Focus on Problem-Solving - Spend time on what matters: solving real problems
  • πŸ“š Learn While Building - AI explains concepts as it implements them
  • πŸ”§ Production-Ready Code - TypeScript, proper error handling, best practices

My Daily Problem: I constantly lose important tabs. I needed a way to save, organize, and sync tabs across Chrome and Edge. Instead of searching for an app, I built one with AI assistance!


✨ Features

πŸ“Œ Save & Organize Tabs

  • Save any URL with title and category
  • Pin important tabs for quick access
  • Organize with categories - Research, Work, Reading Later, Reference, Important
  • Create custom categories with colors and icons

πŸ” Powerful Search & Filters

  • Instant search across titles and URLs
  • Filter by category to focus on specific topics
  • Filter pinned tabs separately
  • Sort options - Newest, Oldest, Alphabetical, Most Visited
  • Keyboard shortcut (Ctrl+K) for quick search

πŸ”„ Cross-Browser Sync

  • Sync between Chrome and Edge - tabs saved from one browser appear in the other
  • Local sync server - your data stays on YOUR computer, no cloud required
  • Automatic polling - updates every 5 seconds
  • Manual refresh - click sync button to refresh immediately
  • Offline fallback - works locally if sync server is offline

🧩 Browser Extension

  • One-click save - save current tab instantly from extension popup
  • Save all tabs - save every open tab at once
  • Import from browser history - browse and import from browser history (1 hour, today, or week)
  • Category selection - choose category when saving
  • Works on Chrome & Edge - same extension works on both browsers

πŸ’» Desktop App (PWA)

  • Install as desktop app - get a desktop icon for quick access
  • Works offline - access your saved tabs anytime

🎨 Beautiful UI/UX

  • Dark mode support with automatic detection
  • Responsive design - works on desktop, tablet, and mobile
  • Grid or List view to suit your preference
  • Smooth animations for a polished experience

πŸ’Ύ Session Management

  • Save current state as named sessions
  • Restore sessions anytime with one click
  • Track visit counts to see your most used resources

πŸ“€ Export & Import

  • Export all data as JSON for backup
  • Import data to restore or migrate
  • Bulk import - paste multiple URLs at once

πŸš€ Quick Start

Prerequisites

  • Node.js (v18 or higher)
  • Git
  • Chrome or Edge browser

Installation

# 1. Clone the repository
git clone https://github.com/LasseyMiracle/tabvault.git
cd tabvault

# 2. Install web app dependencies
npm install

# 3. Install sync server dependencies
cd sync-server
npm install
cd ..

# 4. Start TabVault (Windows - double-click or run):
start-tabvault.bat

# This will:
# - Start the sync server (background)
# - Start the web app (background)
# - Open your browser automatically!

Pro Tip: Create a desktop shortcut to start-tabvault.bat for one-click access!

5. Install the Browser Extension

  1. Open Chrome: chrome://extensions or Edge: edge://extensions
  2. Enable "Developer mode" (toggle in top right)
  3. Click "Load unpacked"
  4. Select the extension folder from this project
  5. Pin the extension to your toolbar for easy access!

6. Open the App

Visit http://localhost:5173 in your browser.


πŸ“± How to Use

Saving Tabs

From the Web App:

  1. Click the "+ Add Tab" button
  2. Enter the URL and title
  3. Select a category
  4. Click "Add Tab"

From the Browser Extension:

  1. Click the TabVault extension icon
  2. The current tab URL and title are auto-filled
  3. Select a category
  4. Click "Save Current Tab"

Save All Open Tabs:

  1. Click extension icon
  2. Switch to "All Tabs" tab
  3. Select tabs to save (or select all)
  4. Click "Save Selected Tabs"

Import from Browser History:

  1. Click extension icon
  2. Switch to "History" tab
  3. Filter by time (1 hour, today, week)
  4. Select items and save

Organizing Tabs

  • Click a category in the sidebar to filter
  • Click "Pinned" to see only pinned tabs
  • Use the search bar to find tabs by title or URL
  • Change view between Grid and List modes

Cross-Browser Sync

Make sure both servers are running:

start-tabvault.bat

Now any tab saved from Chrome will appear in Edge automatically (and vice versa)!


πŸ”’ Security & Privacy

Your Data is 100% Local & Private

  • βœ… No cloud storage - all data stays on YOUR computer
  • βœ… No accounts - no sign-up or login required
  • βœ… No tracking - no analytics or telemetry
  • βœ… No external servers - sync server runs locally on your machine
  • βœ… Open source - review the code yourself
  • βœ… Your tabs are never shared - the data file is excluded from git

Data Storage

Location Purpose
Browser localStorage Stores tabs, categories, preferences
sync-server/tabvault-data.json Sync data between browsers (local file, auto-created)

Note: The tabvault-data.json file is automatically created when you first save a tab. It's excluded from git (.gitignore), so your personal tabs are never uploaded to GitHub.

Keeping Your Tabs Safe

The app is designed to never lose your data:

  1. Empty protection - The app won't overwrite server data with empty local storage
  2. Dual storage - Tabs are saved in both browser localStorage AND the sync server file
  3. Backup tip - For extra safety, occasionally copy sync-server/tabvault-data.json to a backup location

Extension Permissions

Permission Purpose
tabs Read current tab URL and title
activeTab Access active tab when saving
storage Store extension preferences
history Import tabs from browser history

πŸ› οΈ Tech Stack

Technology Purpose
React 19 UI Library
TypeScript 5.9 Type Safety
Vite 7 Build Tool
Tailwind CSS 4 Styling
Lucide React Icons
Express.js Sync Server
PWA Desktop Installation

πŸ“ Project Structure

tabvault/
β”œβ”€β”€ src/                    # React application source
β”‚   β”œβ”€β”€ components/         # UI components
β”‚   β”œβ”€β”€ context/            # React context (state management)
β”‚   β”œβ”€β”€ hooks/              # Custom React hooks
β”‚   β”œβ”€β”€ services/           # Sync service
β”‚   └── types/              # TypeScript types
β”œβ”€β”€ extension/              # Browser extension
β”‚   β”œβ”€β”€ manifest.json       # Extension config
β”‚   β”œβ”€β”€ popup.html/js       # Extension popup
β”‚   └── icons/              # Extension icons
β”œβ”€β”€ sync-server/            # Local sync server
β”‚   β”œβ”€β”€ server.js           # Express server
β”‚   └── package.json        # Server dependencies
β”œβ”€β”€ public/                 # Static assets
└── start-tabvault.bat      # Windows startup script

🎯 Use Cases

  • πŸ“š Researchers - Save and organize research papers and references
  • πŸ’» Developers - Keep track of documentation and tutorials
  • πŸ“° Content Curators - Collect articles to read later
  • πŸŽ“ Students - Organize study materials by subject
  • πŸ’Ό Professionals - Manage work-related resources

🀝 Contributing

Contributions are welcome! This project demonstrates what's possible with AI-assisted development. Feel free to:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

You are free to:

  • βœ… Use commercially
  • βœ… Modify
  • βœ… Distribute
  • βœ… Use privately

πŸ™ Acknowledgments


πŸ“¬ Connect


Built with ❀️ and πŸ€– AI by Miracle Kwabla Lassey

⭐ Star this repo if you find it helpful!

About

Smart Tab Manager - Built with Vibe Coding in VS Code using Claude. Save, organize, and sync tabs across Chrome & Edge

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors