Skip to content

Latest commit

 

History

History
88 lines (68 loc) · 2.49 KB

File metadata and controls

88 lines (68 loc) · 2.49 KB

SheetBuddy

Privacy-first CSV/XLSX data management tool. Compare lists, track progress, validate emails — all in your browser. SheetBuddy | Track Invite progress and Compare CSV/XLSX files

Features

Progress Tracking

  • Import partner/invitee data from CSV or Excel
  • Track registration codes and usage status
  • Email validation with detailed error reporting
  • Filter by status: Registered, Pending, Invalid, Empty Slots
  • Search and sort capabilities
  • Copy partner + invitees to clipboard

List Compare

  • Import unlimited lists from any CSV/XLSX
  • Match by any column (email, ID, customer number, etc.)
  • Smart fuzzy name matching
  • Find duplicates and overlaps between lists
  • Visual confidence scoring for matches

Import Templates

  • Save column mappings as reusable templates
  • Auto-detect column types (email, code, status)
  • Support for comma-delimited invitee lists

Privacy First

  • No external database — all data stored in browser (IndexedDB)
  • No tracking — zero analytics or telemetry
  • No server — runs entirely client-side
  • Your data never leaves your machine

Tech Stack

  • Framework: Next.js 14 (App Router, Static Export)
  • Language: TypeScript 5
  • State: Zustand
  • Database: Dexie (IndexedDB wrapper)
  • Styling: Tailwind CSS
  • Icons: Lucide React
  • Parsing: PapaParse (CSV), SheetJS (XLSX)

Getting Started

# Install dependencies
npm install

# Run development server
npm run dev

# Build for production
npm run build

# Export static site
npm run export

Open http://localhost:3000

Project Structure

├── app/                  # Next.js app router
├── components/
│   ├── compare/          # List comparison UI
│   ├── import/           # Import modal & column mapper
│   ├── layout/           # Header, Footer, Sidebar
│   ├── partner/          # Progress tracking UI
│   └── ui/               # Reusable UI components
├── hooks/                # React hooks (usePartners, useCompare, etc.)
├── lib/
│   ├── database.ts       # Dexie schema & types
│   ├── csvParser.ts      # CSV parsing with sanitization
│   ├── xlsxParser.ts     # Excel parsing
│   ├── emailValidator.ts # Email validation
│   └── columnDetector.ts # Auto-detect column types
└── store/                # Zustand store

License

MIT


Built by AP