I use AI and automation to structure ambiguity — but I keep the evidence, rules, uncertainty, and human decision visible.
A listing is not a decision.
Property feeds are optimized for browsing, not acquisition judgment. Important facts are fragmented across descriptions, structured fields, public records, market estimates, title/deed information, inspection evidence, and operator assumptions.
The acquisition problem is to reduce that noise into a defensible sequence: What immediately disqualifies this asset? What evidence do I actually have? What is still unknown? What is the modeled basis and cash flow? What deserves diligence next?
Product question
How might I convert a large, inconsistent listing feed into a smaller queue of explainable opportunities without pretending uncertain data is trustworthy?
The product separates evidence collection from investment judgment.
Intake
Normalize a listing feed or accept raw listing text for analysis.
Evidence
Extract roof, HVAC, electrical, plumbing, lead, occupancy, rent, rehab and risk language with provenance.
Enrichment
Keep taxes, market rent, neighborhood, policy and future title/licensing sources distinct from listing claims.
Underwriting
Model total basis, operating allowances, net monthly cash flow and cash yield.
Diligence
Rank Buy / Diligence / Pass while exposing hard rejects, evidence gaps and next verification questions.
Hard gates first. Weighted judgment second.
Unknown does not mean good.
A common failure mode in automated screening is to reward the absence of a warning as if it were positive evidence. I designed the evidence layer to keep missing facts visible and reduce confidence when critical information is not verified.
The interface distinguishes explicit listing evidence from structured/enriched data, and it shows confidence rather than hiding the logic behind an opaque AI verdict.
Critical evidence checks
- Roof age / installation evidence
- HVAC age / system evidence
- Electrical condition
- Plumbing condition
- Lead documentation
- Occupancy state
Pressure-test the acquisition logic.
Change the operating criteria, filter for evidence gaps, inspect a ranked candidate, analyze raw listing copy, then shortlist and export a diligence queue. The public build is intentionally synthetic and source-agnostic.
Where the UX work created leverage.
Separate hard rejects from scoring
A fatal deal condition should not be averaged away by strong rent or condition. Disqualifiers run before the weighted score.
Expose provenance and confidence
Each extracted field retains the statement or source category behind it, so the operator can inspect why the system believes a fact.
Penalize incomplete diligence
Missing roof, HVAC, electrical, plumbing, lead or occupancy evidence reduces the score and creates a visible evidence-gap queue.
Keep enrichment distinct
Taxes, neighborhood, market rent, title/deed and inspection facts are modeled as separate source adapters instead of being falsely attributed to listing text.
Make the strategy configurable
The operator can change budget, one-asset vs. two-asset strategy, rehab tolerance, neighborhood floor and operating assumptions, then watch the queue re-rank.
Decouple live intake
The recruiter demo makes zero listing-provider calls. Production source connections sit behind adapters so source reliability can evolve without rewriting the acquisition workflow.
AI is the accelerator, not the hidden authority.
I used AI to accelerate product iteration, generate synthetic scenarios, pressure-test decision logic, structure evidence categories, and shorten the loop from product rule to executable prototype.
The public extraction behavior is intentionally transparent. A production system could place deterministic parsers, APIs, or language models behind the same evidence contract while preserving human review and source visibility.
Human judgment stays in control
The product does not claim to decide whether to buy a property. It decides what should be rejected, what deserves more evidence, and what should rise to the top of a human diligence queue.
What the finished prototype demonstrates.
Public / Production Boundary
The public demo uses synthetic listings and deterministic extraction logic. It does not connect to Redfin, Zillow, MLS, public-record systems, banking data, private KBP records, or any production API. Production source selection and reliability are separate architecture decisions.
Follow the decision contract.
Do not judge this case by the property domain alone. Look at how ambiguous input becomes evidence, how missing data is handled, how fatal rules differ from soft scoring, how source confidence is communicated, and how the product moves a user from feed noise to a smaller action queue.