This is a tool for a tour itinerary in Ghana. Includes a chatbot that is able to answer questions about Ghana
# Akwaaba AI — RAG-powered Ghana trip planner
A web app with a retrieval-augmented AI agent that plans trips to Ghana for
diaspora returnees and international tourists. The agent searches a curated Ghana
knowledge base before it answers, calls tools to build and save itineraries, and
shows its working — every tool call and every source it retrieved.
Built for the GIZ AI Program · Codetrain Africa Demo Day 2026.
---
## Quick start
```bash
git clone
cd ghana-tour-guide
npm install
cp .env.local.example .env.local # then fill in your keys (see below)
npm run build:index # embed the knowledge base (one-off, ~30s)
npm test # 77 checks, no API calls, runs in a second
npm run dev #
localhost
```
### Environment variables
| Variable | Where to get it | Needed for |
| --- | --- | --- |
| `GEMINI_API_KEY` |
aistudio.google.com | The agent, itineraries, embeddings |
| `NEXT_PUBLIC_SUPABASE_URL` | Supabase → Project Settings → API | Auth, saved trips |
| `NEXT_PUBLIC_SUPABASE_ANON_KEY` | Supabase → Project Settings → API | Auth, saved trips |
The app degrades gracefully: without Supabase keys everything works except
sign-in and saved trips. Without an embedded index, retrieval falls back to
keyword search instead of breaking.
### Supabase setup (about two minutes)
1. Create a free project at supabase.com.
2. **SQL Editor → New query** → paste all of `supabase/schema.sql` → **Run**.
This creates the `profiles` and `trips` tables, the sign-up trigger, and the
row-level-security policies.
3. Copy the project URL and anon key into `.env.local`.
4. Optional — **Authentication → Providers → Google** to enable Google sign-in.
Set the redirect URL to `
localhost` for local dev
and `
your-domain.vercel.app` for production.
5. For a smoother demo, turn **off** email confirmation under
**Authentication → Sign In / Providers → Email**, so a new acco …