All work

Winner · Build for Ireland 2026

HomesAbove

Turns a walk down a main street into a ranked list of upper floors worth a council inspection.

My part
Backend and AI pipeline, the product idea, and the pitch.
Context
Build for Ireland, Dublin AI Week, 4 October 2026. Built in one day by a team of two: Adam Vakar and Rodion Omelich.
Stack
FastAPI, MongoDB Atlas, React, MapLibre, deck.gl, TensorX, MCP
HomesAbove officer console showing a building list, a map of central Dublin, and a facade review panel in Demo data mode.
The officer console with demo data. Building assessments are invented and facades are illustrations; the street geography is real.
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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.

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.

Sources