Your city, your language. — A multilingual AI assistant helping expats navigate life in Abu Dhabi, UAE.
The UAE has 10 million residents, 88% of whom are expats. Yet all government services, legal documents, and city systems only work in Arabic and English.
CityKey bridges this gap by providing:
- 🗣️ 8 Language Support — English, Arabic, Hindi, Urdu, Tagalog, French, Bengali, Russian
- 🤖 AI Chat Assistant — Ask questions about UAE services in your language
- 📄 Document Explainer — Paste Arabic contracts and get explanations in your language
- ✅ Setup Checklist — Track your Emirates ID, bank account, DEWA, and more
# Clone the repository
git clone https://github.com/kb546/CityKey.git
cd CityKey
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env.local
# Add your OPENAI_API_KEY to .env.local
# Run the development server
npm run devOpen http://localhost:3000 in your browser.
| Layer | Technology |
|---|---|
| Frontend | Next.js 16 (App Router), React 19 |
| Styling | Tailwind CSS 4 with RTL support |
| AI | OpenAI GPT-4 |
| Deployment | Vercel |
| i18n | Custom translation system with 8 languages |
CityKey/
├── app/
│ ├── api/chat/ # AI chat API route
│ ├── chat/ # Chat page
│ ├── checklist/ # Setup checklist page
│ ├── documents/ # Document explainer page
│ ├── layout.tsx # Root layout with LanguageProvider
│ └── page.tsx # Home page with language selector
├── components/
│ └── Navbar.tsx # Responsive navigation
├── context/
│ └── LanguageContext.tsx # Language & RTL management
├── locales/ # Translation JSON files (8 languages)
├── utils/
│ ├── ai.ts # AI utility functions
│ └── translations.ts # Translation loader
└── public/
├── ai-prompts.md # System prompts for AI
└── sample-contract.txt # Sample Arabic tenancy contract
| Code | Language | Direction |
|---|---|---|
en |
English | LTR |
ar |
العربية (Arabic) | RTL |
hi |
हिन्दी (Hindi) | LTR |
ur |
اردو (Urdu) | RTL |
tl |
Tagalog | LTR |
fr |
Français (French) | LTR |
bn |
বাংলা (Bengali) | LTR |
ru |
Русский (Russian) | LTR |
Ask questions like:
- "How do I get my Emirates ID?"
- "What documents do I need to open a bank account?"
- "Where can I register my car?"
The AI responds in your selected language with UAE-specific guidance.
Paste any Arabic document (tenancy contract, legal forms, etc.) and get a section-by-section explanation in your language.
Track your progress on essential Abu Dhabi setup tasks:
- Emirates ID
- Bank Account
- DEWA (Electricity & Water)
- Vehicle Registration
- School Enrollment
- Health Insurance
Each task includes required documents, where to go, and estimated fees.
# Required for AI functionality
OPENAI_API_KEY=your_openai_api_key
# Optional - for Lingo.dev translation API
LINGODOTDEV_API_KEY=your_lingo_api_keyNote: If no API key is provided, the app runs in demo mode with pre-defined responses.
npm run dev # Start development server
npm run build # Build for production
npm run start # Start production server
npm run lint # Run ESLintFor a full guide, see DEPLOY.md.
- Go to vercel.com/new
- Import
CityKeyrepository - Add Environment Variables:
OPENAI_API_KEY:sk-proj-...(from your .env.local)LINGODOTDEV_API_KEY:api_...
- Click Deploy
Built for Hackathon 2024 by:
- Bill — Backend, AI integration, Chat
- Samuel — Frontend, Navigation, Checklist
MIT License — feel free to use and modify for your own projects!
🔑 CityKey — Your city, your language.