Working name: Delhi Metro Simple. Branding stays easy to change. The app is an independent companion and must not look or read like an official DMRC product.
Tell the rider where to start, which train to take, where to change, and where to get off. The first result answers the train, the change, and the fare when a verified payload includes a fare.
The first screen asks where you are going. A result opens with a colored diagram of that ride, then the timeline. When the saved journey and the fewest-changes ride visit different stations, both are offered. Each ride has the line name on that line’s color, the direction, the platform when the payload includes one, and the stops in between. A change is its own line of text. Fare, stop count, and changes sit above the timeline. Missing fare or time stays missing.
The interface is English. The page starts in Day. Night and Contrast are a cycle on Help and next to the online mark. Line colours stay the DMRC hues. Type is vendored IBM Plex Sans. Icons are from Lucide, bundled with the app. Nothing is loaded from a font or icon CDN. The independent-app notice and the snapshot date live on Help. Lines shows one line at a time. The city map draws stations that have a saved latitude and longitude.
A child with an adult, an older adult, a first-time visitor, and someone unfamiliar with phones should be able to plan a trip without an account, tutorial, or install.
- Plan a trip — origin, destination, swap, and “Show my route.” On a wide screen the route sits beside the form.
- Status — closed-gate counts and the last check time, then each line with its closed stations on that line. Use my location names the nearest Delhi Metro station from that fix, with the distance, Start here, and Go here. A closed gate names one nearest open station. This is not a live arrival board.
- Saved — trips stored on this device. Open one to see the ride, or remove it.
- City — stations with a saved coordinate on street tiles. The ride is drawn between the ends that have positions.
- Play — four games, each a round of eight questions with three tokens, Express points for three in a row, and +5 for answering before the doors close. Answers move on by themselves; a tap skips the wait. Every answer comes from saved data, and a question that could have two right answers is not asked.
- Change here — a trip from one starting station to a destination, the line and direction you board, and four interchanges. The question names both stations. The answer is where the saved route changes. Trips where the shortest and the fewest-changes routes change at different stations are skipped, and no wrong option is served by a later line on the trip. The answer shows every leg with its direction, platform, and stops.
- Platform — the station you are at and the station you are going to, then that station’s real platforms as the choices. The question names both stations. The answer comes from
data/en/platforms.json, whichpython3 src/lib/offline/build_platforms.pybuilds from the journey packs. A destination that two platforms reach directly is skipped. The answer shows every platform at the station. - Faster or cheaper — two saved trips from one station: which takes longer, or which costs more on a weekday. Each choice names the station you leave and the station you reach. The gap in minutes narrows as the round goes on, and fares never tie.
- Next stop — ride up to eight stops on a real line and name each next stop from four stations. The track shows the stop the train just left and the terminus it is heading to, and the station behind the train is never an option, so only one choice is next. Wrong options come from the saved network: the stop after next, the next stop on a line that meets here, or a station close by on the map. Three tokens a ride, Express points for three in a row, +5 for answering before the doors close, and an occasional interchange bonus. A completed ride ends with a fare guess when the pack has that pair; the choices are real weekday fares from the same origin. Right answers stamp stations in a passport per line, and the stamped total sets a rank; misses come back in later rides. The end card states the line’s length and ends, and, when the pair was saved, the trip’s minutes and fare.
- Platforms and interchanges answered right count as learned, misses come back sooner, and rounds lean towards stations in Saved trips. Progress stays in the passport.
- Play works offline. Platform and Next stop need only the app. Change here and Faster or cheaper start from stations whose journey pack is already saved; the Play page says how many are saved while the rest download. Next stop chooses the line.
- Lines — one line at a time: pick a line, then a station for its brief. On a wide screen the line chart sits beside the station detail.
- Help — how to use the app, verified contacts, text size, Day/Night/Contrast, offline status, privacy, and sources.
Plan, Status, Saved, City, Play, Lines, and Help live in a top bar. The bar does not cover the page.
Station details open from search, Lines, and journey results. They are not a top-level destination.
The first screen shows “Where do you want to go?”, From, To, swap, “Use my location,” and one primary route button. Location is requested only after that button. Saved trips live under Saved, not on Plan. Least and Fewest still plan the pair you asked for, because the closed list is only refreshed three times a day. Alternative is the ride via the one nearest open gate. A blocked interchange is skipped. A closed gate on the way is marked, and the train still passes.
The interface is English. Search matches English station names, aliases, and spelling variants from the English snapshot. Suggestions show the line when membership is known. Similar names stay distinct. A fuzzy match is never selected silently.
Show one recommended route. Summary: origin, destination, duration when present, number of changes, and fare when present. Then plain steps: go to the origin, take a named line towards the returned service destination, travel the stop count, change where the legs change, and get off.
Offer Fewest changes when that ride visits different stations. When an end is marked closed, also offer Alternative via the one nearest open gate. “Least distance” is not labeled “Fastest.”
Secondary actions: edit, save locally, share by station code, copy text, and view on the map.
The line browser uses the same network data as local routing. Station pages show lines, and facilities only when a response includes them. Missing items are omitted or marked “Not verified.”
Help includes a short usage note, official contacts after they are verified, text-size controls, a Day/Night/Contrast cycle, data freshness, a way to clear local data, sources, and the independent-app notice. Clearing saved data also restores Day. There is no analytics, advertising, or account.
Ticket sales, payments, subscriptions, ads, accounts, chatbots, social feeds, promotional content, live arrivals, and live lift status.