Winner · Build for Ireland 2026
HomesAbove
Turns a walk down a main street into a ranked list of upper floors worth a council inspection.

- of more than 40 teams
- 1st
- from idea to working demo
- 1 day
- independent AI readings of every facade
- 2
- read-only tools for the officer’s assistant
- 8
- badge-engine tests, all passing
- 27
The problem
Some floors above shops could become homes again. Finding them starts with someone walking the street and looking.
We wanted to turn ordinary walks into that first look, without letting an AI decide that a building is empty.
What we built
A volunteer photographs shopfronts from the opposite pavement. Two AI models from different families read each facade independently, OpenStreetMap supplies the services within walking distance, and a council officer gets a ranked list of candidates, a 3D map of the street and an assistant that answers questions from the data.
Walkers earn badges for walking and for inspections an officer records, never for what the AI thought of a building.
Key decisions
Two models, kept apart
- Problem
- A second model that sees the first answer tends to copy it.
- Decision
- The verifier comes from a different model family, sees only the upper part of the photo, answers a different question, and never sees the first reading.
- Evidence
- The pipeline refuses to start if both models come from the same family.
Disagreement goes to a person
- Problem
- A photo can’t prove that a building is unused.
- Decision
- If the two readings disagree or confidence is below 0.6, the building is marked “Needs a human” until an officer screens the photo.
The assistant can only read
- Problem
- An agent with write access could change a building’s status on its own.
- Decision
- The agent works through eight read-only MCP tools. Labels and inspections exist only as routes behind a person’s click, and every tool call reports its database operation and time.
- Evidence
- A smoke test asserts exactly those eight tool names.
Walkers never see AI judgements
- Problem
- A walker’s app shouldn’t become a list of buildings an AI called empty.
- Decision
- Walker routes return an explicit field projection, so AI statuses never leave the server.
- Evidence
- Covered by a privacy test and the live smoke test.
A photo shows where the walker stood
- Problem
- A phone records its own position, on the opposite pavement from the building.
- Decision
- The pipeline projects 18 m along the camera’s compass heading, then snaps to the OpenStreetMap footprint that contains the point, or the nearest one within 20 m.
The demo never waits on a model
- Problem
- Model latency on the day could stall a live pitch.
- Decision
- Every completed assistant run is saved with its timings and can be replayed, and the interface falls back to bundled demo data when the API is down. The top bar always says which data it is showing.
More screenshots
Limits and next steps
The screenshots use the bundled demo data: real OpenStreetMap streets in central Dublin with invented walks, readings and statuses. Facade images are illustrations. A candidate for inspection is not a finding of vacancy or grant eligibility.
Try the review flow with people who work on vacant properties, using independently checked observations.

