tuas-crossing / README.md
munyew's picture
Space no longer sweeps v4; corridor read from dataset (collector is sole v4 client)
90bfa27 verified
|
Raw
History Blame Contribute Delete
1.31 kB
metadata
title: Tuas Crossing
emoji: πŸš—
colorFrom: blue
colorTo: green
sdk: docker
app_port: 7860
pinned: false

Tuas Crossing

A live + forecast dashboard for the Tuas Second Link outbound (Singapore β†’ Johor Bahru) crossing.

  • Now β€” live corridor speed bands (AYE / Tuas Viaduct / Tuas Second Crossing), predicted AYE β†’ Tuas Checkpoint travel time, incidents, and live traffic camera stills.
  • When to cross β€” a day Γ— hour heatmap built from accumulated history.

How it works

  • GET /api/live β€” travel time, cameras, and incidents come live from LTA DataMall server-side (the API key lives only as the DATAMALL_KEY Space secret), cached ~60s. The corridor speed bands are read from the public dataset (the laptop collector is the single client of LTA's heavy v4/TrafficSpeedBands feed), shown with their age.
  • GET /api/history β€” reads the public companion dataset CSVs and aggregates average speed band by (day-of-week, hour).
  • GET /api/freshness β€” newest collected-sample age, for the stale-data badge.

Data source: LTA DataMall. History is collected on a private always-on machine and pushed to a public Hugging Face Dataset.

The DataMall key is never exposed to the client β€” it is used only server-side.