CivicHousing

An accessibility-first housing intake wizard paired with an interactive allocation simulation that shows how coordinated exchange can improve outcomes over first-come-first-served systems.

Google x CSG x T4SG 2026 Hackathon · Track 5: Housing & Urban Development · Built in one day

Context

Built in one day for the Google x CSG x T4SG 2026 Hackathon. Track prompt: “How might we support tenants in navigating housing systems?” Housing data sourced from Detroit's One Billion Dollar Affordable Multifamily Housing Construction Sites, augmented with simulated attributes for demonstration purposes.

Public housing allocation is opaque and inaccessible. Applicants face confusing processes, limited visibility into available units, and no meaningful way to express preferences about where they live. First-come-first-served systems are simple but routinely produce suboptimal matches that could be improved through coordinated exchange. CivicHousing addresses both sides: an accessible intake process that helps applicants articulate what they actually need, and an allocation engine that demonstrates how those preferences can produce better outcomes for everyone.

Tenant Experience

A guided wizard collects household size, accessibility requirements, and location preferences using large touch targets and plain language designed for seniors and disabled applicants. The system then scores all 76 Detroit housing listings against the profile and presents ranked results on an interactive map alongside hospitals, transit hubs, schools, and government services. Applicants can drag to reorder their rankings.

Housing wizard: survey, scoring, and drag-to-rank

Allocation Engine

Starting from a FIFO (first-come-first-served) baseline, the simulation applies Top Trading Cycles to find exchange rounds where every participant moves to a more-preferred unit simultaneously. Honest preferences are always optimal. There is no incentive to game the system: in the worst case, you stay in the same unit. On random rankings across 76 units, average preference rank improves from 34th to 11th, and that average includes households who opt out and keep their FIFO assignment.

TTC allocation simulation with rank improvement from 34 to 10

How TTC Works

Top Trading Cycles is a mechanism from market design theory. After the FIFO pass assigns every household an initial unit, TTC builds a directed graph: each household points to the unit it prefers most among all currently available options. Because the graph is finite, at least one cycle must exist. Every household in a cycle trades simultaneously, each receiving a strictly better unit than what they started with. Remove those households, rebuild the graph, and repeat until no more improving cycles remain.

The key property is strategy-proofness: reporting your true preferences is always weakly dominant. No one can benefit from lying about their rankings, and no participant is ever made worse off than their FIFO assignment. This makes TTC especially compelling for public housing, where trust in the allocation process matters.

Built with

Next.jsReactTypeScriptTailwindFramer MotionLeaflet