Skip to content

Repository files navigation

SlotPilot

A Next.js web application for local appointment businesses providing a private business dashboard and public booking page with slot picker, featuring schedule recovery autopilot to reduce no-shows.

Tech Stack

  • Frontend/Backend: Next.js 14+ (App Router)
  • Database: Supabase (Postgres + RLS + Realtime)
  • Authentication: Supabase Auth
  • Styling: Tailwind CSS
  • Language: TypeScript

Getting Started

Prerequisites

Setup

  1. Clone and install dependencies:

    npm install
  2. Set up Supabase:

    • Create a new project at supabase.com
    • Copy your project URL and anon key from Settings > API
    • Run the database schema: supabase/schema.sql in the SQL Editor
  3. Configure environment variables:

    cp .env.local.example .env.local

    Update .env.local with your Supabase credentials:

    NEXT_PUBLIC_SUPABASE_URL=your-project-url
    NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key
    SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
    
  4. Run the development server:

    npm run dev

    Open http://localhost:3000 in your browser.

Project Structure

frontdeskai/
├── src/
│   ├── app/              # Next.js App Router pages
│   ├── components/       # React components
│   ├── lib/              # Utility functions and configs
│   │   └── supabase/     # Supabase client setup
│   └── middleware.ts     # Auth middleware
├── supabase/             # Database schema and migrations
└── public/               # Static assets

Development Phases

Phase 1: Core Booking (Weeks 1-3) ← Current

  • Next.js project setup
  • Supabase configuration
  • Database schema creation
  • Business onboarding flow
  • Public booking page with slot picker

Phase 2: Chat Integration (Weeks 4-5)

  • WhatsApp Business API setup
  • AI chat with GPT-4o-mini
  • Booking via chat

Phase 3: Recovery Autopilot (Week 6)

  • Waitlist implementation
  • Automated cancellation recovery

Phase 4: Dashboard & Polish (Weeks 7-8)

  • Business metrics dashboard
  • Mobile responsive design (PWA)

Learn More

Releases

Packages

Contributors

Languages