Skip to main content

McIndex

TypeScript · Next.js · SQLite · Open Data

McIndex

McIndex(opens in new tab) is an open data project that maps how much McDonald's menu items actually cost across the United States. A custom scraper collects restaurant locations and pickup-menu prices from the McDonald's mobile API into a SQLite database; a Next.js dashboard then turns that data into an interactive map where you can explore price variation for items like the Big Mac, McChicken, fries, and coffee.

Interactive Map

Each restaurant appears as a color-coded pin showing how its price compares to the national average. Select a menu item and the map updates to show where that item costs more or less than the country-wide baseline.

Insights Panel

An insights panel surfaces histograms, state rankings, and the widest premiums and discounts in the dataset — making it easy to spot outliers and regional pricing patterns at a glance.

Architecture

The project is built as a TypeScript monorepo with three packages:

  • Scraper — collects restaurant locations and pickup-menu prices from the McDonald's mobile API
  • Shared database schema — a single SQLite schema shared across tooling and the web app
  • Web app — a Next.js dashboard for exploring the data

Compact binary datasets enable fast client-side loading, with optional deployment to Turso for hosted builds.