Quick Start
Get the Kinetic Email platform running locally in under 5 minutes.
Prerequisites
- Node.js 18+ and npm
- Supabase account and project (for auth + database)
- Convex account (for real-time tracking)
- Anthropic API key (for AI email generation)
1. Clone and Install
git clone <repository-url>
cd kinetic-email
npm install
2. Environment Variables
Create a .env file in the project root. See Environment Variables for the full list.
Required minimum:
# Supabase
VITE_SUPABASE_URL=https://your-project.supabase.co
VITE_SUPABASE_ANON_KEY=your-anon-key
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
SUPABASE_ANON_KEY=your-anon-key
# Convex
VITE_CONVEX_URL=https://your-project.convex.cloud
# Anthropic (AI generation)
CLAUDE_API_KEY=your-anthropic-key
3. Database Setup
Run the migration scripts in the database/ directory against your Supabase project. The files are numbered and should be run in order:
database/01-schema.sql
database/02-auth.sql
...
database/59-token-system.sql
database/60-security.sql
4. Start Development Server
npm run dev
The app will be available at http://localhost:5173.
5. Run Tests
npm test
Project Structure at a Glance
kinetic-email/
├── api/ # Vercel serverless functions
│ ├── admin/ # Admin-only endpoints
│ ├── _auth.ts # Auth middleware
│ ├── generate.js # AI email generation (RAG)
│ ├── send-email.ts # Send via Resend
│ └── track-pixel.ts # Interaction tracking
├── src/
│ ├── pages/ # React page components
│ ├── components/ # Reusable UI components
│ ├── contexts/ # React Context providers
│ ├── hooks/ # Custom React hooks
│ ├── lib/ # Utility libraries
│ └── seo/ # SEO configuration
├── convex/ # Real-time tracking backend
├── database/ # SQL migrations
├── tests/ # Vitest test suite
└── scripts/ # Build scripts (prerender, sitemap)
Next Steps
- Architecture Overview — Understand how the pieces fit together
- API Reference — Start integrating with our endpoints
- RAG System — Learn how AI email generation works