Inspiration

Small real estate investors lose deals because checking one listing takes hours: walking the unit, guessing repair costs, finding comparable properties, and running the numbers. Big funds have analyst teams for this. We wanted an agent that does the same work on every new listing, automatically.

What it does

Lintel watches new listings of apartment buildings and houses in Houston and LA. For each one it:

  • grades the interior from Matterport 3D scans and the exterior from Vexcel aerial imagery
  • lists the upgrades the property needs and estimates what they cost
  • compares the property with nearby ones that are already renovated
  • stress-tests the deal against cap rates, interest rates and inflation
  • alerts the investor to the good ones, with the best strategy, the chance it makes money, and the highest price worth paying

Owner mode reuses the aerial pipeline for people who already own a property. It runs a recurring condition check on the roof, erosion and landscaping, and produces a preventive maintenance list.

How we built it

  • Data: the CoStar kit loaded into DuckDB, joined with public assessor rolls and live market rates from FRED
  • Vision: frames pulled from Matterport scans and Vexcel aerials, graded room by room with a DeepSeek vision model
  • Deal math: a 5-year cash flow model with scenarios, covering taxes after purchase, insurance, flood, wildfire, new supply and holding costs
  • Agent: a tool-use loop that runs the full pipeline and writes an investment memo
  • App: a FastAPI backend and a React frontend with a listing feed, memo pages, the Matterport viewer and before/after renovation sliders

We split the project into modules with fixed data contracts between them, so several coding agents could build in parallel without breaking each other's work.

Challenges we ran into

  • Our own math was wrong. A mid-hackathon audit found arithmetic mistakes behind the deal numbers. We fixed them and re-ran every result.
  • Slow and flaky APIs. One slow vision reply could sink a whole property, so we cache every external response. The demo runs fully offline.

Accomplishments that we're proud of

  • Every number shown to the user is labelled with where it came from: the CoStar kit, measured, or estimated as needed.
  • The pipeline runs end to end, from a raw listing to a memo with a price to hit.
  • One aerial pipeline powers two products: deal screening for buyers and condition reports for owners.

What we learned

  • An honest "we can't measure this" is more useful to an investor than a confident wrong number.
  • Auditing your own model early is worth the time. Ours changed the results.
  • Strict contracts between modules are what make a team of agents and people work in parallel.

What's next for Lintel

  • More cities beyond Houston and LA
  • Tracking which alerted deals actually made money, to calibrate the model
  • Live alerts by email and text
  • Using real renovation quotes from contractors to tighten the cost estimates

Built With

Share this project:

Updates

Submission history