dhaka-emergency-finder

AI development log

What the AI coding agent did, what it got right, and where a human had to step in.

Tool: Claude Code. Inputs: the Geoapify OpenAPI JSON specifications for Forward Geocoding, Places, Route Matrix and Routing, plus the Geoapify MCP documentation.

2026-10-18: prototype

Prompt summary: see prompts/01-prototype.md.

What worked:

Points that needed care:

2026-10-18: first live run (free API key)

All four live checks worked on the first try. The agent-written client needed no fixes. traffic=approximated is accepted for drive and motorcycle, and phone numbers come through.

Input Type / mode Result Observation
Mirpur 10, Dhaka hospital / drive 5 results, 2 to 5 min The closest on the map (a government dispensary) was not the fastest to reach. Several “hospitals” are diagnostic centres or an eye hospital: OSM tagging, not a Geoapify bug.
ধানমন্ডি ২৭ (Bangla) pharmacy / drive 3 results, 1 to 2 min Bangla script with Bangla digits geocoded correctly to the Dhanmondi 27 (new Road 16) junction.
23.7266, 90.3925 fire / motorcycle Lalbagh Fire Station, 8 min Result #3 is a mosque inside the Fire Service HQ tagged as a fire station: data-quality issue. Road distance is 2× the straight line (old Dhaka streets).
Uttara Sector 7, Dhaka police / drive (JSON) Uttara Thana, 46 s The sector name geocoded to the nearest highway, not the sector centre: coarse result for informal sector names.

2026-10-18: second feature, places of worship and their size

Request: show nearby mosques and how big each one is, and do the same for every religion.

Update 2026-10-21: at Geoapify’s request, the agreed Batch #2 scope is emergency facilities only, so this feature was removed from main. The code, tests and the recorded mosque session are kept on the branch feature/places-of-worship. The findings below still count as feedback: the MCP search_places tool returns points only.

What was checked against the live API before writing code:

Live results:

Query Result Observation
Mirpur 10, mosques 4 mosques, 1 to 2 min 1 own outline (949 m²), 1 only a containing building (≤ 329 m²), 2 with no outline. Earlier test: “Shah Ali Plaza Market Masjid” got 2,083 m², which is the whole market building. This is why the containing building is shown as an upper bound.
Dhakeshwari Temple, --sort size Dhakeshwari National Temple 7,902 m², then smaller shrines 7,902 m² is the compound outline, not one building, so the label “mapped outline” is used instead of “floor area”. Unnamed shrines first showed the street name as their name (address_line1 fallback); this was fixed.
“BUET, Dhaka” Geocoded to “BUET-TPHS Building” in Gulshan Wrong: the BUET campus is in Palashi. Landmark and abbreviation geocoding is a benchmark item and feedback for Geoapify.

No capacity or building:levels tags were found on any mosque tested, so the size is an area, not a headcount.

Ideas for the benchmark:

2026-10-19: benchmark and first recorded agent sessions

2026-10-21: scope agreed with Geoapify

Geoapify selected the project for Batch #2 (deadline 2026-11-15) and asked for a smaller first version: emergency facilities only, and a 10-location benchmark.

2026-10-21: agent session inside Claude Code (Bangla)

2026-10-21: VS Code + GitHub Copilot session

2026-10-21: web app for the €500 “best app” bonus

2026-10-22: demo key for the hosted web app

2026-10-22: suggestions while typing

2026-10-22: “Why is Dhaka Medical College Hospital unnamed?”

2026-10-22: “Searching BUET, why is Kazi Motaher Hossain first and not DMCH?”

2026-10-22: deep research and a name-based classifier

2026-10-22: nearest major hospital

2026-10-22: agent test found a NITOR miss

Feedback ideas for Geoapify (to confirm during the benchmark)