The Challenge
Off the bat if you asked any AI if there are lot vacancies nearby: You would watch it struggle. Without data and processes, itw would just use the first few search result it sees. Stale. Generic. Missing the obvious useful stuff:
Bringing in Data from a data rich eco-system in Singapore would it be a hard build ?
The Solution: Carpark Uncle
Tapping on Singapore rich data, it would be fairly simple to do so at an incredibly low cost.
Key Design Elements:
-
Tap Singapore’s public APIs directly — HDB carparks via data.gov.sg, URA carparks via URA eService, LTA
commercial carparks via DataMall. All free, all official, all real-time. No scraping, no middlemen. -
Multiple interfaces, one brain — A FastAPI backend does all the work (fetching, caching, distance math, pricing logic). Possiblity for a web UI serves drivers, and an MCP server lets any AI assistant (Claude, ChatGPT, etc.) answer “where can I park near Orchard?” natively.
-
Smart layered caching — Lot availability refreshes every 30 seconds, static carpark metadata every 24
hours, URA pricing monthly. A stale-cache fallback keeps the service answering even when upstream APIs hiccup. Users never see an error page because the data provider had a bad minute. -
Graceful degradation by design — Missing API keys? Fall back to checked-in fixtures so the service still
boots and tests still run. Upstream down? Serve stale cache. The system is built to stay useful, not to stay
pristine.
The result: ask Carpark Uncle “any lots near Raffles Place right now, under $5/hr?” and you get a real answer, from real data, in under a second — on your phone or through your AI assistant.
Ready to find that carpark easily? Add as a connector: https://jiahelim-carpark.fastmcp.app/mcp