Search a public transit station, see every departure leaving it, and watch the whole reachable network appear on a map coloured by travel time.
https://apps.apple.com/de/app/station-reach/id6752408029?l=en-GB
Station Reach is currently in closed testing on Google Play. To participate, you must join the Google Group: station-reach-testers@googlegroups.com. And then the test on Google Play: https://play.google.com/apps/testing/eu.antons_webfabrik.station_reac[...]
Google Play requires at least 12 testers to move forward, so your help is greatly appreciated!
| Concern | Choice |
|---|---|
| Runtime | Expo (managed) + expo-router |
| Language | TypeScript, strict |
| Targets | iOS, Android, Web (react-native-web) |
| State | Zustand |
| Errors | neverthrow |
| Map | MapLibre — native bindings and GL JS behind one wrapper |
| Data | Transitous (MOTIS) public REST API |
There is no backend and no API key: the app talks to Transitous directly.
- Node.js and npm
- The Expo CLI workflow — Xcode for iOS, Android Studio for Android
git clone https://github.com/ton-An/station_reach.git
cd station_reach
npm install
npm start # dev server; press i / a / wOr straight to one target:
npm run ios
npm run android
npm run webnpm run typecheck
npm run lintBuilds go through EAS:
eas build -p ios
eas build -p android- Read AGENTS.md — architecture, conventions and verification live there, with
scoped files under
src/core/andsrc/features/map/. - Fork the repository.
- Create a branch (
git checkout -b feat/amazing-feature). - Commit in Conventional Commits style (
git commit -m 'feat: add amazing feature'). - Open a pull request.
MIT — see LICENSE.
- Transitous for providing the API
- Transitous data sources
- OpenStreetMap contributors for map data
- CARTO for the basemap style



