All case studies
8 min2026-06-15

Building Jani — Karachi ka Asli Dost

How I built a hyper-local AI guide for Karachi that speaks Roman Urdu and knows every food spot, traffic shortcut, and cultural landmark.

The Problem

Karachi is a city of 20+ million people. Finding reliable, hyper-local information — the best biryani spot in Saddar, the fastest route from Clifton to Gulshan during rush hour, or the history of a specific landmark — is surprisingly hard. Generic AI assistants speak textbook Urdu and don't know the difference between Burns Road and Boat Basin.

The Approach

I built Jani (Urdu slang for "friend") — an AI guide trained specifically on Karachi's geography, food scene, culture, and traffic patterns. The entire spec was written before a single line of code, covering:

  • User personas (residents, visitors, foodies)
  • Conversation flows in Roman Urdu + English
  • Knowledge graph of 200+ Karachi locations
  • Response tone — friendly, slang-friendly, always helpful

Tech Stack

  • Frontend: Next.js with Tailwind CSS
  • AI: Google Gemini for natural language understanding
  • Database: Neon DB for location data and conversation history
  • Auth: NextAuth for user sessions

Key Challenges

Roman Urdu Understanding

Gemini handles Roman Urdu well, but we needed to guide it with few-shot prompts containing common Karachi slang.

Response Consistency

We built a response template system that ensures every answer includes: the direct answer, a local context note, and a follow-up suggestion.

Results

  • Launched with 200+ Karachi locations in the knowledge base
  • Handles 15+ conversation types (food recs, directions, history, culture)
  • Response time under 2 seconds

What I Learned

Building domain-specific AI requires more than just prompting. A well-structured spec, a carefully curated knowledge base, and iterative testing with real users made all the difference.

Next.jsGemini AINeon DBCase Study