Chef-crafted meals delivered weekly to your door. San Francisco Bay Area.
Production: https://sfsecretmenu.github.io/sfsecretmenu/
- Frontend: React 18 + TypeScript + Vite
- Styling: Tailwind CSS + shadcn/ui
- Database: Supabase (Postgres + Auth + Realtime)
- Payments: Crypto (wagmi/viem) + Traditional (Stripe-ready)
- 3D: Three.js + React Three Fiber
- Deployment: GitHub Pages + GitHub Actions CI/CD
- Weekly rotating chef menus
- Subscription meal plans (Essential, Standard, Premium)
- Gift cards and gift meal plans
- Referral program (1 free meal per friend signup)
- Order tracking with real-time updates
- Admin dashboard for order/customer/menu management
- Responsive design (mobile, tablet, desktop)
- Command palette (Cmd+K) for quick navigation
# Install dependencies
npm install
# Start dev server
npm run dev
# Build for production
npm run build
# Run E2E tests
npm run test:e2eCopy .env.example to .env and fill in your Supabase credentials:
VITE_SUPABASE_PROJECT_ID="your-project-id"
VITE_SUPABASE_URL="https://your-project-id.supabase.co"
VITE_SUPABASE_PUBLISHABLE_KEY="your-anon-public-key"
Push to main branch triggers:
- Lint + Build + E2E tests
- Deploy to GitHub Pages (if tests pass)
GitHub Secrets required:
VITE_SUPABASE_PROJECT_IDVITE_SUPABASE_URLVITE_SUPABASE_PUBLISHABLE_KEY
src/
├── components/ # Reusable UI components
├── contexts/ # React contexts (Auth, Order)
├── data/ # Static data (plans, reviews, menus)
├── hooks/ # Custom React hooks
├── integrations/ # Supabase client + types
├── lib/ # Utilities (wagmi config, etc.)
└── pages/ # Route components
└── admin/ # Admin dashboard pages
Private - SF Secret Menu