AI-powered wedding planning assistant that automates vendor discovery and outreach for couples planning weddings in New South Wales, Australia.
An intelligent wedding planning platform that:
- Multi-Step Form Intake: Professional questionnaire to gather wedding requirements
- Smart Vendor Matching: Automatically finds venues, photographers, caterers based on your preferences
- Automated Outreach: Sends personalized emails to vendors on your behalf
- Response Dashboard: Aggregates vendor responses for easy comparison
- Edit Anytime: Update your wedding details whenever needed
- Frontend: Next.js 15 (App Router), TypeScript, Tailwind CSS
- Backend: Next.js API Routes, Prisma ORM
- Database: PostgreSQL (Supabase)
- Authentication: Supabase Auth (@supabase/ssr)
- AI: Claude Sonnet 4.5 (claude-sonnet-4-5-20250929)
- Email: Resend API (batch sending, webhooks)
- Hosting: Vercel
- Testing: Vitest + React Testing Library
- Linting: ESLint + Prettier + auto-formatting
Current Phase: Production Ready ✅
Completed Features:
- ✅ Authentication (Supabase Auth with Google OAuth)
- ✅ User Interface (Header, user menu, login/logout)
- ✅ Multi-step form questionnaire (TypeForm-style UI)
- ✅ Edit wedding details (update anytime from dashboard)
- ✅ AI-powered vendor matching (45+ vendors across 2 regions)
- ✅ Email outreach system (generate & send personalized emails)
- ✅ Dashboard (empty state, wedding summary, response tracking)
- ✅ Vendor database (Newcastle + Hunter Valley)
- ✅ Testing suite (Vitest with 24 passing tests)
- ✅ Production deployment (Vercel + Supabase)
- Node.js 20+
- PostgreSQL (local or cloud)
- Claude API key (Anthropic)
-
Clone and install dependencies
npm install -
Set up environment variables
cp .env.example .env.localEdit
.env.localand add:DATABASE_URL: Your PostgreSQL connection string (Supabase)ANTHROPIC_API_KEY: Your Claude API keyCLAUDE_MODEL: claude-sonnet-4-5-20250929NEXT_PUBLIC_SUPABASE_URL: Your Supabase project URLNEXT_PUBLIC_SUPABASE_ANON_KEY: Your Supabase anon keyRESEND_API_KEY: Your Resend API key (for email)EMAIL_FROM: Your verified sender email
-
Set up database
npm run db:push -
Seed vendor data
npm run db:seed:newcastle npm run db:seed:hunter-valley -
Run development server
npm run dev
wedding-plan/
├── app/ # Next.js 15 App Router
│ ├── api/ # API routes
│ │ ├── auth/ # Auth sync & logout
│ │ ├── chat/ # Claude AI (legacy)
│ │ ├── outreach/ # Email generation & sending
│ │ ├── vendors/ # Vendor matching
│ │ └── wedding/ # Wedding CRUD
│ ├── auth/ # Login, signup, callback
│ ├── dashboard/ # User dashboard pages
│ ├── questionnaire/ # 5-step form (NEW)
│ └── vendors/ # Vendor browsing
├── components/ # React components
│ ├── Header.tsx # Global header with user menu (NEW)
│ ├── UserMenu.tsx # Dropdown menu with logout (NEW)
│ ├── VendorCard.tsx # Vendor display
│ └── VendorGrid.tsx # Vendor selection UI
├── lib/ # Core utilities
│ ├── supabase/ # Supabase Auth clients
│ ├── email/ # Resend integration
│ ├── claude.ts # Claude API
│ ├── vendor-matching.ts # Matching algorithm
│ └── prisma.ts # Database client
├── prisma/
│ └── schema.prisma # Database schema (7 tables)
├── scripts/ # Database seeding
│ ├── seed-newcastle-vendors.ts
│ ├── seed-hunter-valley-vendors.ts
│ └── validate-vendor-data.ts
├── test/ # Vitest test suite
├── docs/ # Documentation (see docs/README.md)
│ ├── PRODUCT_STRATEGY.md # Product planning & decisions
│ ├── USER_JOURNEY.md # Complete user flow (CRITICAL)
│ ├── VENDOR_OUTREACH_RESEARCH.md # Research plan
│ ├── TESTING_PLAN.md # Testing strategy
│ └── ... (see docs/README.md for full index)
├── ROADMAP.md # Future features & Phase 1-4 planning
├── QUICK_START.md # Getting started guide
└── USER_JOURNEY.md # ⭐ Critical: complete user flow reference
Authentication & User Management:
- Supabase Auth (email/password + Google OAuth)
- User menu with avatar/initials
- Login/logout UI with dropdown
- Session management across pages
Wedding Planning Flow:
- 5-step form questionnaire (Date, Location, Guests, Budget, Style)
- Edit wedding details anytime
- Dashboard empty state with clear CTAs
- Wedding summary card on dashboard
- AI-powered vendor matching
Vendor Database:
- 17 Newcastle vendors (venues, photographers, caterers, florists)
- 28 Hunter Valley vendors (full coverage all categories)
- Validation utilities for data quality
- Standardized seeding strategy
Email Outreach:
- Vendor selection UI with checkboxes
- AI-powered personalized email generation
- Batch email sending via Resend API
- Email preview & editing before sending
Dashboard & Tracking:
- Outreach statistics (contacted, delivered, opened, responded)
- Response tracking table
- Manual response entry
- Individual vendor detail pages
Quality & Testing:
- Vitest testing framework (24 passing tests)
- ESLint + Prettier with auto-formatting
- TypeScript strict mode
- Production deployment (Vercel + Supabase)
- Resend webhook integration (for automatic email tracking)
- Email notifications to users when vendors respond
- Blue Mountains vendor expansion
- Quote comparison tools
- Payment integration (Stripe subscription model)
- SMS notifications (Twilio)
- Wedding timeline planner
- Budget tracker
- Guest list management
- Vendor self-service portal
- Visit the site - See beautiful landing page
- Sign in - Click "Sign In" in header, use Google or email/password
- Dashboard redirect - See empty state: "We need details about your special day"
- Complete questionnaire - Click "Complete Wedding Details"
- 5 steps with visual progress bar
- Large, easy-to-click buttons
- Smooth animations between steps
- Data saves automatically at the end
- View dashboard - See wedding summary with your details
- Browse vendors - View AI-matched vendors for your preferences
- Select vendors - Choose who to contact (checkboxes)
- Generate emails - AI creates personalized messages
- Send outreach - Batch send via Resend API
- Track responses - Dashboard shows delivery, open, response status
- Go to Dashboard
- Click "Edit Details" button (next to "Your Wedding")
- Form pre-fills with current selections (highlighted)
- Update any answers
- Saves automatically on completion
Essential:
- QUICK_START.md - Get started in 3 minutes
- DEPLOYMENT.md - Deploy to production
- TESTING_PLAN.md - Testing strategy
- BUGS.md - Known issues and tracking
Comprehensive Documentation:
- docs/INDEX.md - Complete documentation index
- docs/product/PRD.md - Product requirements
- docs/architecture/ARCHITECTURE.md - Technical architecture
- docs/guides/VENDOR_DATABASE_STRATEGY.md - Vendor data expansion
- VENDOR_DATABASE_EXPANSION.md - Hunter Valley expansion summary
Status: ✅ Production Ready (February 2026)
Live URL: wedding-plan-lime.vercel.app
Coverage:
- Newcastle, NSW - 17 vendors (venues, photographers, caterers, florists)
- Hunter Valley, NSW - 28 vendors (full category coverage)
- Total: 45 vendors across 2 regions
Next Launch: Blue Mountains (March 2026) - 20-25 vendors
# Run all tests
npm test
# Run tests in UI mode
npm run test:ui
# Run tests with coverage
npm run test:coverage
# Lint code
npm run lint
# Format code
npm run format
Test Coverage:
- ✅ Component tests (VendorCard, formatting utilities)
- ✅ 24 passing tests
- ✅ Vitest + React Testing Library
# Start dev server
npm run dev
# Lint and fix
npm run lint:fix
# Format code
npm run format
# Run tests
npm test
# Build for production
npm run build
# Start production server
npm start
# Generate Prisma Client
npm run db:generate
# Push schema to database
npm run db:push
# Open Prisma Studio
npm run db:studio
# Seed Newcastle vendors
npm run db:seed:newcastle
# Seed Hunter Valley vendors
npm run db:seed:hunter-valley
# Test database connection
npm run db:test
This is currently a solo project. Contributions welcome after MVP launch.
Private - Not yet open source
- Replaced chatbot with professional form - Users now have confidence their data is saved
- Added edit functionality - Can update wedding details anytime
- Dashboard empty state - Clear guidance for new users (no confusing auto-redirects)
- Header with user menu - Professional navigation with avatar, dropdown, logout
- Visual feedback - Progress bars, loading states, highlighted selections
- Testing suite - Vitest with 24 tests
- Linting - ESLint + Prettier with auto-fix
- Documentation cleanup - 25 → 6 root files
- Vendor expansion - Hunter Valley added (28 vendors)
- Build optimizations - Lazy Resend client, proper TypeScript checks
Built with ❤️ for couples planning their dream wedding in Australia