https://github.com/gabrielahn/gtfs-viz
A project renders at scale GTFS files on the client side only without backend
https://github.com/gabrielahn/gtfs-viz
duckdb-wasm gtfs react vite
Last synced: about 1 month ago
JSON representation
A project renders at scale GTFS files on the client side only without backend
- Host: GitHub
- URL: https://github.com/gabrielahn/gtfs-viz
- Owner: gabrielAHN
- License: mit
- Created: 2024-09-30T07:45:32.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2026-04-28T03:55:28.000Z (about 1 month ago)
- Last Synced: 2026-04-28T04:23:42.181Z (about 1 month ago)
- Topics: duckdb-wasm, gtfs, react, vite
- Language: TypeScript
- Homepage: https://gtfs-viz-production-f1a4.up.railway.app
- Size: 37 MB
- Stars: 44
- Watchers: 3
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# GTFS Viz
[](https://railway.app/template/nJ-5yD?referralCode=r6T2Zn)
[](https://www.npmjs.com/package/@gabrielahn/gtfs-viz-cli)
Visualize, analyze, and edit GTFS transit data entirely in-browser with DuckDB WASM. No backend required.

## Features
- Upload GTFS zips or load example datasets — all processing client-side
- Interactive maps and tables for stations, stops, and pathways
- Edit stations, stops, and pathway connections with live preview
- Pathfinding between station parts with traversal times
- Export edited data back to GTFS CSV format
- CLI with local DuckDB database and browser dashboard
- DuckDB SQL extension loadable from any DuckDB instance
## Quick Start
### Web App
Visit [gtfs-viz-production-f1a4.up.railway.app](https://gtfs-viz-production-f1a4.up.railway.app) or run locally:
```bash
yarn install --ignore-engines && yarn build:procedures && yarn dev
```
### CLI
```bash
npm install -g @gabrielahn/gtfs-viz-cli
gtfs-viz import /path/to/feed.zip
gtfs-viz stations --name "Park"
gtfs-viz station "Park Street"
gtfs-viz examples # See all commands
```
### DuckDB Extension
```sql
.read 'https://raw.githubusercontent.com/gabrielAHN/gtfs-viz/main/packages/procedures/gtfs/gtfs.sql'
```
## Project Structure
```
packages/
procedures/ GTFS DuckDB extension — SQL macros, views, pathfinding
web/ React web application (DuckDB WASM, Deck.gl, TanStack)
cli/ CLI tool (npm: @gabrielahn/gtfs-viz-cli)
```
## Development
```bash
yarn install --ignore-engines
yarn build # Build all (procedures -> web -> cli)
yarn dev # Web dev server at localhost:5173
yarn build:cli # Build CLI only
yarn check # Type-check all packages
```
## Deploy
Railway via [railpack.json](railpack.json): `yarn build` outputs to `dist/`, served by Caddy as SPA.
## Links
- [CLI on npm](https://www.npmjs.com/package/@gabrielahn/gtfs-viz-cli)
- [CLI docs](packages/cli#readme)
- [DuckDB extension](packages/procedures/gtfs)
- [Agent skills](packages/cli/skills/gtfs-viz)