AI-powered Instagram growth intelligence. Auto-detect your niche, optimize content, and grow your audience with data-driven recommendations.
- Framework: Next.js 15 (App Router, TypeScript strict, Server Components)
- Styling: Tailwind CSS v4, shadcn/ui, Tremor
- Animation: Motion (framer-motion)
- Database: Supabase (Postgres + Auth + Storage)
- Cache: Upstash Redis
- Payments: Stripe
- Email: Resend
- AI: OpenAI (GPT-4o, Vision)
- Analytics Service: Python FastAPI microservice
- Package Manager: pnpm
- Node.js >= 20.x
- pnpm >= 9.x
- Git
# Clone the repository
git clone <repo-url> kaizo
cd kaizo
# Install dependencies
pnpm install
# Copy environment variables
cp .env.example .env.local
# Fill in the values in .env.local
# Run development server
pnpm devOpen http://localhost:3000 in your browser.
See .env.example for all required variables with descriptions.
| Variable | Description | Required |
|---|---|---|
NEXT_PUBLIC_APP_URL |
Public URL of the application | Yes |
NEXT_PUBLIC_SUPABASE_URL |
Supabase project URL | Yes |
NEXT_PUBLIC_SUPABASE_ANON_KEY |
Supabase anonymous key | Yes |
SUPABASE_SERVICE_ROLE_KEY |
Supabase service role key | Yes |
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY |
Stripe publishable key | Yes |
STRIPE_SECRET_KEY |
Stripe secret key | Yes |
STRIPE_WEBHOOK_SECRET |
Stripe webhook signing secret | Yes |
RESEND_API_KEY |
Resend API key | Yes |
UPSTASH_REDIS_REST_URL |
Upstash Redis REST URL | Yes |
UPSTASH_REDIS_REST_TOKEN |
Upstash Redis REST token | Yes |
OPENAI_API_KEY |
OpenAI API key | Yes |
META_APP_ID |
Meta/Facebook App ID | Yes |
META_APP_SECRET |
Meta/Facebook App Secret | Yes |
PYTHON_SERVICE_URL |
Python microservice URL | Yes |
PYTHON_SERVICE_HMAC_SECRET |
HMAC secret for service auth | Yes |
ENCRYPTION_KEY |
AES-256 key for token encryption | Yes |
pnpm dev # Start development server (Turbopack)
pnpm build # Production build
pnpm start # Start production server
pnpm lint # Run ESLint
pnpm lint:fix # Fix ESLint issues
pnpm format # Format with Prettier
pnpm format:check # Check formatting
pnpm typecheck # TypeScript type checking┌─────────────────────────────────────────────────────┐
│ Client (Browser) │
├─────────────────────────────────────────────────────┤
│ Next.js 15 (Vercel) │
│ ┌──────────┐ ┌──────────┐ ┌──────────────────┐ │
│ │ Server │ │ API │ │ Middleware │ │
│ │Components │ │ Routes │ │ (Auth+RateLimit) │ │
│ └──────────┘ └──────────┘ └──────────────────┘ │
├─────────────────────────────────────────────────────┤
│ External Services │
│ ┌────────┐ ┌──────┐ ┌──────┐ ┌───────┐ ┌──────┐ │
│ │Supabase│ │Stripe│ │Resend│ │Upstash│ │OpenAI│ │
│ └────────┘ └──────┘ └──────┘ └───────┘ └──────┘ │
├─────────────────────────────────────────────────────┤
│ Python FastAPI Microservice (Railway) │
│ ┌──────────┐ ┌──────────┐ ┌──────────────────┐ │
│ │ Niche │ │ Post │ │ Hashtag │ │
│ │Detection │ │ Scoring │ │ Research │ │
│ └──────────┘ └──────────┘ └──────────────────┘ │
└─────────────────────────────────────────────────────┘
src/
├── app/ # Next.js App Router
│ ├── (marketing)/ # Marketing site pages
│ ├── (dashboard)/app/ # Dashboard pages
│ ├── api/ # API routes
│ └── globals.css # Global styles + Tailwind
├── components/ # Shared components
│ ├── ui/ # shadcn/ui overrides
│ ├── primitives/ # Layout primitives
│ ├── motion/ # Animation components
│ └── theme/ # Theme toggle
├── lib/ # Utilities and configs
└── styles/ # Theme tokens
- Next.js App: Vercel
- Python Service: Railway
- Database: Supabase (managed)
- Cache: Upstash Redis (serverless)
Private — All rights reserved.