DEV Community

Justin Crow
Justin Crow

Posted on

I turned 100k county property records into a free "instant comps" tool

Commercial real estate has a data problem for the little guy: the good comps live behind CoStar/LoopNet paywalls, while the raw data — county property-appraiser rolls and recorded deeds — is public but unusable in its raw form. I wanted a free tool that hands a normal person recent comparable sales for any South Florida commercial property in one click. Here’s the build.

The data. I assembled ~100k tri-county commercial parcels (Broward, Miami-Dade, Palm Beach) with recorded, arms-length sales into a single Postgres table: address, city, county, building SF, sale price, sale date, use type, year built, and coordinates. The messy part wasn’t volume — it was normalization: inconsistent city labels, non-arms-length transfers, and land-only sales polluting the per-SF math.

The API. A single read-only serverless function takes a county, optional city, and optional asset type, and returns the most recent qualifying sales plus a median $/SF. The query filters to building-improved, arms-length sales above a price floor and within a recent window, ordered by date. Public, no auth, CORS-open — it only ever reads, and only returns already-public sale records.

The front end. Static HTML/JS on Netlify, with an edge function proxying the tool routes. A small widget renders the returned comps as a table with a checkbox per row — because every comp isn’t equal. The user unchecks the ones that aren’t comparable, and the median recalculates live. That "curate the set" interaction is the whole point: a median over 25 random sales is noise; a median over the six you actually believe in is a value.

Lessons. (1) Public data is 10% acquisition, 90% normalization. (2) Let users prune inputs — a transparent, editable median beats a black-box "estimate." (3) A read-only public endpoint over already-public data keeps the security surface tiny.

If you want to poke at the result, it’s live and free: Broker Opinion of Value tool. Happy to answer build questions in the comments.

Top comments (0)