MakanMap SG


Try it live at makan-map-sg.vercel.app

What is MakanMap?

Singapore’s hawker culture is a UNESCO-recognised heritage — over 100 government-managed centres, thousands of stalls, and decades of food history. But finding the right hawker centre for your craving, checking if it’s near an MRT, or knowing what stalls are actually good? That usually means scrolling through multiple apps.

MakanMap SG pulls together open government data, Google Places reviews, and an LLM to give you one single place for that.

Features

Browse all 129 hawker centres with search and MRT-proximity filtering. Each centre has a dedicated detail page showing its stalls, community reviews, and Google reviews.

Nearest MRT is auto-calculated from LTA station exit data — no third-party API calls needed at runtime.

AI Recommendations — tell it what you’re craving, and it returns specific hawker centres with quoted Google reviews supporting each pick. The pipeline embeds your query, does a vector search over real review data, and passes the most relevant results to an LLM for a grounded, citation-backed answer. No hallucinations.

How it Works

The AI recommendation pipeline works in five steps:

  1. Embed your prompt using OpenAI text-embedding-3-small
  2. Filter centres within 5km using Haversine distance
  3. Vector search over review embeddings stored in pgvector
  4. Build LLM context from the top 20 semantically relevant reviews
  5. Generate structured output via OpenRouter (GPT-4o), enriched with real review citations

Tech Stack

Built with Next.js 15 App Router, tRPC v11, Prisma, and Supabase (PostgreSQL + pgvector). The UI uses Tailwind CSS v4 and shadcn/ui, with Framer Motion and Magic UI for animations. Maps are powered by @vis.gl/react-google-maps.

Data is seeded from data.gov.sg GeoJSON and enriched offline via the Google Places API and OpenAI Embeddings — nothing is fetched at runtime beyond what the user triggers.

Data Sources

DataSource
Hawker centre locationsdata.gov.sg GeoJSON
MRT station exitsLTA GeoJSON (data.gov.sg)
Stalls + ratings + reviewsGoogle Places API
Review embeddingsOpenAI text-embedding-3-small

Deployed on Vercel with Supabase as the database backend.




Tags:

  • Next.js

  • AI

  • Singapore

  • Food


Written by

Fran

Michelle Louisa

Product Manager
based in Singapore