About Tatak
tatak tatak - the sound of a train on track
One search across Bengaluru, answered end to end: a BMTC bus, Namma Metro and the walk at either end, priced leg by leg and ranked by whether you want the journey that is fastest, cheapest, or the one with the fewest changes.
What this is
Tatak is an independent hackathon prototype. It is not affiliated with, endorsed by or operated by BMTC, BMRCL or any government body, and the tickets it issues are specimens that are not valid for travel.
Every ticket it issues carries SPECIMEN - NOT VALID FOR TRAVEL across its face, in every state, and names its own issuer underneath. No money moves, and no gate takes one.
Where the answers come from
- Buses
- The community-maintained BMTC bus data, published by Vonter. It's unofficial - the routes and stops are reliable, the times are not, so Tatak trusts it for when a bus leaves, never for how long the ride takes.
- Metro
- Line order and station coordinates from OpenStreetMap's map data. Kannada names, fare zones, interchanges and line colours from OneMetro.
- The map
- Carto's Positron basemap, drawn from OpenStreetMap data.
- The type
- Manrope and Noto Sans Kannada, both under the SIL Open Font License. The licence texts ship with the app, at /fonts/OFL-Manrope.txt and /fonts/OFL-NotoSansKannada.txt.
About accessibility
Every accessibility answer in this app is generated. None of it was surveyed, and every place it reaches a rider carries SYNTHETIC ACCESS DATA - NOT SURVEYED beside it.
The BMTC feed has no wheelchair_boarding column in stops.txt and no wheelchair_accessible column in trips.txt. BMRCL publishes no machine-readable station facilities at all. So a rider who uses a wheelchair cannot ask most of what this app says about accessibility and get a real answer.
One exception, added later than the rest of this page. OpenStreetMap carries a wheelchair tag on most Namma Metro station nodes, mapper-recorded rather than invented, under the same open licence this app already credits for its basemap. Where a station carries one, its step-free verdict on stop and station detail is real and says so with a REAL · OSM badge - but a real tag means a mapper wrote something down once, not that the lift works today: nobody re-checks it on a schedule, and a 2025 Citizen Matters field survey found BMTC stations badged accessible under the Accessible India campaign missing the features on the ground. Every other field on every card - lift, tactile paving, audio announcements, the toilet, and the entire bus half of this dataset - stays generated, because OSM's own bus-stop coverage is 8.2% and mostly says no, too sparse to build anything on.
The other option was to build nothing, which hides the gap rather than showing it. So Tatak models what the data would look like where none of it is real: per stop, whether it is step-free, whether there is a lift and whether that lift is working, tactile paving, audio announcements and an accessible toilet at interchanges; per service, whether the vehicles are low-floor, carry a ramp, and have a wheelchair bay. The tiers are taken from the real network, so the shape is right even though the values are not: Namma Metro is better provisioned than a pole by the roadside here because it is there. Every value is fixed to the stop, so the same stop answers the same on this page, on the phone, and after a restart.
What it would take to make this real. From BMTC, two columns in a feed they already publish: wheelchair_boarding on every row of stops.txt, and wheelchair_accessible on every row of trips.txt. Both are standard GTFS fields, already in the reference this feed is written against and already left empty, so filling them is a survey and a spreadsheet rather than a new system. A fleet roster saying which depots run low-floor buses would be a third thing, and it is not a GTFS field: it is a list BMTC already keeps for its own operations. From BMRCL, two things: a station facilities list covering lifts, escalators, tactile paths, accessible toilets and staff assistance, and a live lift status feed. The first is a spreadsheet too. The second is the one that changes what an app can do, because a lift is only useful while it is working, and for want of anything better this dataset has to model a broken lift as a permanent fact.
What this doesn't cover. It knows nothing about the footpath at either end, because no such data exists for this city, so a journey it calls step-free is step-free from the boarding point and not from your door. And it filters the journeys the planner already found rather than searching for one, so "no step-free option" means none among these, never none in Bengaluru.
Accounts
Required. Nothing in this app works signed out - planning a journey, opening a stop and buying a specimen all need it first. Signing in also keeps your specimens on the server, so they survive a cleared browser.
The server keeps an email address, a hashed password, and your specimens - nothing else. All of it is deleted when the demonstration ends.
About the fares
No operator quotes a price to this app. Metro fares come from the zone span between stations, bus fares from distance travelled - both worked out here from published fare rules, and both are estimates: close enough to recognise, not to bill by.
Day passes are a model and are marked as one wherever they appear. BMTC sells daily passes, and it sells different ones for different classes of service, so the shape is real. The prices are not quoted by anyone: each is derived here from this app's own fare table, at two and a half times that class's fare ceiling, which puts the break-even at three full-length rides in a day. Nothing in this app sells one.
About the CO2 figure
A journey detail says roughly how much CO2 the journey did not put into the air. It is one significant figure, and the word "roughly" is doing real work: the factors behind it are national averages, not a measurement of your trip.
- Car and bus
- India Specific Road Transport Emission Factors, India GHG Program (WRI India, CII and TERI), 2015. A petrol hatchback under 1400 CC at 0.130 kg CO2 per km, and an intracity bus at 0.015161 kg CO2 per passenger-km.
- Metro
- Borrowed, and said to be borrowed. Namma Metro publishes no figure this app could find, so a life-cycle figure for underground metro rail in the Mumbai region is used instead, at 0.025 kg CO2e per passenger-km. It is the larger of the two candidates, so the metro side of the sum is overstated.
- The distance
- The straight line between the two ends of the journey, with no detour factor on top. A real drive over Bengaluru's roads is longer than that line, so the figure is a floor rather than an estimate.