Inspiration
I spent time this past year helping my family deal with an attempted deed theft on land we've held in south Georgia for generations — the same problem in different clothes. A fast-appreciating Brooklyn neighborhood and rural Southern land are both exactly what gets targeted: long-held, often mortgage-free, sometimes passed down informally rather than through a clean paper trail. Heirs' property loss has quietly been one of the largest drivers of Black land loss in this country.
NYC already runs a deed-fraud alert program, but it only helps people who know to sign up — and the people most at risk are usually the least likely to know it exists. That gap is where this started. As a Bed-Stuy resident, I wanted to select a hackathon project to help tackle this problem head-on.
What it does
A property-record tool built on NYC's public data: ACRIS deed filings, PLUTO, DOF exemption and tax lien records. These are all joined and pulled into a vulnerability index for deed theft, scored on documented risk patterns: free-and-clear mortgage status, senior/disability exemption status, long tenure, individual ownership, and tax liens. Built for NYC DOF or the Mayor's Office of Deed Theft Prevention to use for proactive outreach, not just self-reporting.
Two smaller public tools grew from the same pipeline, no new data required: History of My Home, a plain-language ownership timeline, and an SCHE/DHE helper that flags exemptions someone likely qualifies for but isn't receiving.
How I built it
I read NYC's open data catalog before writing anything, because "public" doesn't mean "usable"; ACRIS alone is four tables joined on a document ID that isn't even the property ID the rest of the city's data uses.
The design happened almost entirely in conversation before I opened an editor: picking datasets, working out joins, stress-testing the scoring model for bias before building it. The biggest decision was cutting neighborhood price appreciation — the strongest predictor available, and the most dangerous, since it would've made the tool a proxy for historically redlined, now-gentrifying Black neighborhoods. Every surviving factor is about the individual home, not the block.
I wrote it all into a living CLAUDE.md file and handed it to Claude Code: Python, DuckDB, Streamlit, scoped hard to a bounded set of neighborhoods instead of the whole city.
Challenges we ran into
BBL, the ID meant to tie everything together, is formatted differently across DOF datasets: padded differently, sometimes one field, sometimes three. ACRIS doesn't even carry it in the main table; you need a second join just to get one, undocumented until you hit it.
Bigger problem: partway through building the risk score, I realized it could double as a target list for the exact people I was trying to stop. That reshaped the whole architecture; the public side shows neighborhoods, never addresses; individual risk data lives behind staff authentication only, logged and tied to outreach, no path to ever going public.
Smaller walls kept showing up: a federal vacancy dataset restricted to registered nonprofits, an outdated auth method in NYC's own geocoding docs. Definitely a lot that can be improved upon with a longer development window.
Accomplishments that we're proud of
Partway through building the scorecard, neighborhood price appreciation was sitting right there as the strongest predictor available. It also would have made the tool's output functionally a map of historically redlined, now-gentrifying Black neighborhoods. Catching that and cutting it before writing a line of scoring code, instead of after some judge or user pointed it out, is the part of this build I'd defend hardest.
Close behind that: getting three genuinely useful tools out of one pipeline in two days. History of My Home and the SCHE/DHE helper didn't need a single new dataset — once the core ACRIS/PLUTO/DOF ingestion was solid, both were mostly new front doors onto data already flowing through. That kind of reuse is usually a nice-to-have; here it's what made three tools possible instead of one.
I'm also proud the scoring weights aren't made up. Every point value traces back to a documented pattern from DA, AG, or legal-aid casework, not a number that felt right. And the architecture — public neighborhood view, public history and benefits tools, individual risk data locked to authenticated staff only — resolves the exact tension that could've made this tool dangerous instead of protective, and it resolves it by design, not by a disclaimer bolted on afterward.
What we learned
Mostly this: the data to solve a problem like this already exists in public systems, and almost nobody has time to stitch it together. That access gap is the actual problem, not a lack of data. Some of the most protective decisions here made the tool weaker on paper — excluding a strong predictor because of what it would encode, restricting access instead of maximizing reach, choosing an honest vulnerability index over a false probability score. Protecting people sometimes means building something deliberately less powerful than you could.
Working through NYC's version of this while my own family lived through Georgia's made it feel a lot less like a hackathon project.
What's next for MyHome NYC
The honest next step is a fair-housing and civil-rights legal review before any of the risk-index work goes anywhere near real deployment — that's not optional, and it's explicitly not something a hackathon weekend can self-certify. Alongside it: actually building the internal staff-SSO access and the lookup-logging that access depends on, since right now that's a documented design, not working code.
On the data side, a few real doors are already identified, just not open yet: partnering with a nonprofit or government office to get access to HUD's vacancy data, applying to OpenCorporates' public-benefit program once there's a working demo to point to, and bringing 311 back in as a proper corroborating signal for the anomaly-detection model I scoped but didn't build. Co-op coverage needs an actual decision, not just a "not covered yet" message forever.
And past the technical roadmap — the real next step is finding out whether DOF or the Mayor's Office of Deed Theft Prevention would want this at all. A hackathon project that never reaches the people who could actually act on it doesn't protect anyone.
Built With
- acris
- carto
- css
- duckdb
- html
- javascript
- nyc-open-data
- openstreetmap
- pandas
- parquet
- pluto
- pyarrow
- pydeck
- python
- socrata-open-data
- sql
- streamlit
Log in or sign up for Devpost to join the conversation.