Easy-to-manage touch screens
Free, open-source touch screens. Guided USB setup, a drag-and-drop editor and local control. Made for Home Assistant.
台灣大眾運輸:地圖與路線導航、公車到站、火車與高鐵轉乘、捷運路網,加上 YouBike。
Translation pending
LifestyleJavaScript · CSSGitHub @JayPengXOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Taiwan's buses, 台鐵, 高鐵, metros and YouBike in one app, with trips planned the way people really travel. Part of Orbit, a family of phone apps for life in Taiwan that share one sign-in, the Orbit Pass. See them all at orbit.jaypengx.com.
| Layer | What |
|---|---|
| App | Plain JavaScript (ES modules), HTML and CSS; no framework, no build step, no dependencies |
| Platform | Installable web app with a service worker; location and vibration for navigation, lock-screen notices while it runs |
| Shared | Look, Orbit Pass, notices and data reads from the kit in Orbit-Core |
| Data | TDX (Taiwan's transport data exchange) through the Orbit proxy on Cloudflare Workers; weekly bus packs and line shapes in Cloudflare R2 |
| Maps | Google Maps under the month's cap, else Leaflet with NLSC's tiles; walks on Google's streets, else OpenStreetMap |
| Routing | Our own 台鐵/高鐵 router (Connection Scan) and metro router, beside Google's and TDX's planners |
| Tests | node --test, including navigation driven fix by fix and the owner's verdicts on real trips |
plan a trip
├─ Google's planner ┐
├─ TDX's planner ├─► every way, re-timed by live bus estimates
├─ rail.mjs (CSA) │
└─ metro router ┘
▼
plan.mjs rank: 1. fold the ways a person wouldn't take
2. order the rest by minutes + a small table of bother
▼
nav.mjs: the whole trip on the map, step by step, live
The full map, the ranking rules and the decisions in force: MAP.md.
public/
├── index.html, app.mjs the frame: Pass, tabs, location
├── transit.css the app's look on top of the kit's
├── lib/ 42 modules
│ ├── planner.mjs, plan.mjs, live.mjs planning, ranking, live re-timing
│ ├── rail.mjs, metro*.mjs train router; metro router, boards, maps
│ ├── bus.mjs, near.mjs, packs.mjs, shapes.mjs
│ ├── bike.mjs, rental.mjs, rivers.mjs, tpass.mjs
│ ├── nav.mjs, navlive.mjs, buzz.mjs, alerts.mjs
│ ├── service.mjs operators' notices as rules
│ └── tab-*.mjs, map.mjs, store.mjs each tab; the map; the Pass's data
└── sw.js
scripts/ live trips, verdicts, replays, metro maps
tests/ node --test, with tests/verdicts/
MAP.md how it works, file by file
The app loads the shared kit from a sibling folder, so clone this repo next to Orbit-Core:
git clone https://github.com/JayPengX/Orbit-Core.git
git clone https://github.com/JayPengX/Orbit-Transit.git
cd Orbit-Transit
Requirements: Node.js 22 or newer. There is nothing to install: no framework, no node_modules.
npm test # links ../Orbit-Core/kit as .kit, then runs node --test
See it on a phone-sized screen, signed in with a made-up wallet and real data (needs Playwright):
# a screenshot, saved in /tmp/orbit-preview
node ../Orbit-Core/tools/preview.mjs transit --live --width 375
# serve it, then open http://localhost:8123/Orbit-Transit/
node ../Orbit-Core/tools/preview.mjs transit --live --serve --port 8123
--dark, --lang en, --webkit (Safari's engine) and the other flags are listed in Orbit-Core/tools/README.md.
Run a trip on today's real data, and compare the ranking before and after a change:
node scripts/live.mjs 竹東站 縣體育場
node scripts/live.mjs --against HEAD
scripts/replay.mjs re-runs a debug log (--why shows each way's score) and scripts/verdict.mjs saves a new verdict.
Push to main. GitHub Actions runs the tests, stamps every file with its content hash (so a phone downloads only what changed) and publishes public/ to GitHub Pages; the site Worker serves it at its orbit.jaypengx.com address. There are no pull requests or release branches.
| App | What it is |
|---|---|
| Orbit Sports | Every game you can watch in Taiwan, live |
| Orbit Transit | Bus, train, metro and YouBike, planned and navigated |
| Orbit Weather | One clear forecast, to the township |
| Orbit Words | English vocabulary that stays |
| Orbit Securities | A Taiwan broker on play money |
| Orbit Class | Today's classes at a glance |
| Orbit Beats | Endless music and your own beats |
| Orbit Law | Laws, rulings and bills, linked |
| Orbit Money | Your own books |
| Orbit-Core | The kit, the Orbit Pass and the Workers behind them all |
How it was all built, in pictures and numbers: jaypengx.com/showcase.