
城市通安心助手
Town Pass has so many services that most people struggle to find their way, let alone people with disabilities or older residents; so we built more than an agent and made the service usable. Honorable Mention, Taipei CodeFest 2026.
- Category
- AI
- Stack
- TypeScriptVueMCPVitest
- Links
- GitHub ↗
01Overview
An accessible assistant inside Town Pass: say a sentence or tap a suggestion to find accessible toilets or parking, or head to a Town Pass service with the details it already knows; nothing opens until the user confirms, and nothing is submitted for them. Beyond the agent we added accessibility itself: screen-reader support, larger text, haptic and voice feedback. The model runs on the phone, so conversations never reach the cloud. My first hackathon, team of five; I handled the pitch, the agent design and tool integration, starting from the MVP and wrapping Town Pass services and open data into 16 read-only tools.
02What I built
- I wrote the MVP: Town Pass services wrapped as read-only MCP tools and hooked up to Claude to prove the idea; once it worked, I switched to direct function calls so it could run in the browser and on the phone.
- After talking with a mentor we changed how services are connected, to lower the cost of maintaining them: every service and open dataset is a read-only tool, and timeouts, caching and format checks go through one loading layer.
- The model never touches URLs or location: URLs come only from a list in the code, and coordinates are used in the browser just for distance.
- Read-only by design: queries show directly, other actions wait for the user to confirm, and pages that submit, pay or show personal data are links only.
- Proposed a shared service tool registry, where a model on the host parses pages or API docs into tools step by step, so new services need no hand wiring. The team refactored in that direction and a teammate built it.
03What I learned
- Teamwork is a skill of its own. I used to build alone end to end; this time much of the effort went into aligning and merging.
- AI speeds things up but widens gaps in understanding: without low-level experience it is hard to tell a right answer from one that merely runs.
- Building it is far from shipping it: Android only, some services still on demo data, and an architecture that feels patched together.
04Screens


