Luganda language learning app with AI tutor, clan lokup, flashcards, and Buganda cultural content
# GandaBot — AI-Powered Luganda Learning
Next.js 15 + Clerk + Neon PostgreSQL, deployed on Vercel.
## Quick Start
### 1. Clone & install
```bash
git clone
github.com
cd gandabot
npm install
```
### 2. Set up environment variables
```bash
cp .env.example .env.local
# Fill in all required values (see below)
```
### 3. Set up database
```bash
node scripts/migrate.js
```
### 4. Run locally
```bash
npm run dev
# Open
localhost
```
---
## Deploy to Vercel
### Option A — Vercel Dashboard (recommended)
1. Push repo to GitHub
2. Go to
vercel.com → Import your repo
3. Framework: **Next.js** (auto-detected)
4. Add all environment variables from `.env.example`
5. Click Deploy
### Option B — CLI
```bash
npm i -g vercel
vercel --prod
```
---
## Environment Variables
| Variable | Required | Description |
|---|---|---|
| `NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY` | ✅ | Clerk public key |
| `CLERK_SECRET_KEY` | ✅ | Clerk secret key |
| `DATABASE_URL` | ✅ | Neon PostgreSQL connection string |
| `NEXT_PUBLIC_APP_URL` | ✅ | Production URL (`
gandabot.com`) |
| `OPENAI_API` | Recommended | GPT-4o-mini for chat, moderation, insights |
| `ELEVENLABS_API_KEY` | Optional | Podcast text-to-speech audio generation |
| `RESEND_API_KEY` | Optional | Welcome + notification emails |
| `NEXT_PUBLIC_GOOGLE_MAPS_API_KEY` | Optional | Country Explorer live places data |
---
## Clerk Setup
1. Create account at clerk.com
2. Create a new application
3. Enable **Google** and **Email/Password** sign-in methods
4. Copy `NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY` and `CLERK_SECRET_KEY`
5. In Clerk dashboard → **Paths**: set sign-in to `/sign-in`, sign-up to `/sign-up`
---
## Database (Neon)
1. Create account at neon.tech
2. Create a new project
3. Copy the connection string to `DATABASE_URL`
4. Run `node scripts/migrate.js` to create all tables
---
## Features
| Feature | Route | Description |
|---|---|---|
| Landing Page | `/` | Marketing page …