Skip to content

城市通安心助手

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

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

Screenshot of 城市通安心助手
Screenshot of 城市通安心助手
Screenshot of 城市通安心助手
Next project
LabSlot