{"id":22477137,"url":"https://github.com/zorapeteri/prettytransit","last_synced_at":"2026-01-29T14:09:17.788Z","repository":{"id":177651511,"uuid":"660294360","full_name":"zorapeteri/prettytransit","owner":"zorapeteri","description":"A timelapse public transit visualization app","archived":false,"fork":false,"pushed_at":"2024-11-04T16:34:18.000Z","size":6076,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-27T17:48:38.404Z","etag":null,"topics":["geojson","gtfs","pixijs","timelapse","transit","visualization","webgl"],"latest_commit_sha":null,"homepage":"https://prettytransit.zora.pt","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zorapeteri.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-06-29T17:13:04.000Z","updated_at":"2024-11-05T10:51:52.000Z","dependencies_parsed_at":"2023-09-25T01:50:22.278Z","dependency_job_id":"f0021d93-e30d-4a5a-a9cb-33a18df0b18b","html_url":"https://github.com/zorapeteri/prettytransit","commit_stats":{"total_commits":54,"total_committers":1,"mean_commits":54.0,"dds":0.0,"last_synced_commit":"20d20ac8fdaedce523c25fe46a3f226069f25bd1"},"previous_names":["zorapeteri/prettytransit"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zorapeteri%2Fprettytransit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zorapeteri%2Fprettytransit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zorapeteri%2Fprettytransit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zorapeteri%2Fprettytransit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zorapeteri","download_url":"https://codeload.github.com/zorapeteri/prettytransit/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248819352,"owners_count":21166472,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["geojson","gtfs","pixijs","timelapse","transit","visualization","webgl"],"created_at":"2024-12-06T14:09:36.547Z","updated_at":"2026-01-29T14:09:12.752Z","avatar_url":"https://github.com/zorapeteri.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# \u003cimg height=\"40px\" src=\"https://prettytransit.zora.pt/icon.png\"\u003e prettytransit\n\nA timelapse public transit visualization app built with Pixi and Vue.\n\n![image](https://github.com/zorapeteri/prettytransit/assets/52820291/33a5ca6a-78c7-4aed-9c18-f78216fda795\")\n\n## context\n\ni like trains\n\n## data source\n\n[prettytransit-gtfs-parser](https://github.com/zorapeteri/prettytransit-gtfs-parser)\n\n## how it works\n\nEach city has a list of transport types defined, with an intentional order. When you open a city, the default transport type will be displayed, e.g. `/budapest` will become `/budapest/metro`.\n\nThe URL can be manipulated to include any number of transport types or lines.\nFor example: `/berlin/U1,S1,tram`\n\n_**Exception:** if there are at least 2 transport types available for a city, displaying all bus lines at once will be forbidden. This is because usually in cities that have extended public transit systems, there'll be a very large number of bus lines in contrast to other travel modes. For example Berlin has 200 bus lines compared with 22 tram lines coming in second._\n\n\nWhen transit lines are displayed in the control panel under \"showing\", they can be hovered over or clicked to highlight the track of the line on the map.\n\nFor the movement of vehicles, [PIXI.Ticker](https://pixijs.download/dev/docs/PIXI.Ticker.html) is used. Each vehicle has its own ticker, that gets deleted when the journey is over.\n\nAt every single stop, irregardless of vehicle type, a 30 second [dwell time](\u003chttps://en.wikipedia.org/wiki/Dwell_time_(transportation)\u003e) is assumed. I timed this on multiple types of Berlin transit, at different times of day and it seems a good average. This causes the flow of vehicles to not be continous, but rather realistic.\n\n_**Fun fact**: Datasets that include bus and tram lines that have very frequent stops tend to (understandably) make large generalizations for the travel times between stops, which can make it look like the movement of vehicles is borderline coreographed. If you go to [berlin/tram](https://prettytransit.zora.pt/berlin/tram) and put the speed to 120x and start playing [Pump Up The Jam](https://open.spotify.com/track/21qnJAMtzC6S5SESuqQLEK?si=31bc47663e1e41b2) at the right time, you can look at the trams vibing._\n\n### credits and attributions\n\nAll names and icons of public transit lines are trademarks of the authorities highlighted in the information panel for each city.\n\nThe graphics in the speed control buttons are from [google noto emoji](https://github.com/googlefonts/noto-emoji).\n\nMaps of cities are from [OpenStreetMap](https://www.openstreetmap.org/).\n\n\u003ca href=\"https://www.flaticon.com/free-icons/train\" title=\"logo by smashicons / flaticons\"\u003elogo by flaticons\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzorapeteri%2Fprettytransit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzorapeteri%2Fprettytransit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzorapeteri%2Fprettytransit/lists"}