Metroplex Homebuyers

2011 to 2025 · co-founder

Home-sale predictive analytics

built solo

Combining un-normalized county, municipal, court, and utility sources into two models, who's likely to sell, and which homes are likely to profit, then marketing the overlap.

sources
County Clerks Municipal Records Appraisal Districts County Courts District Courts USPS Utility Records Zillow

By focusing on the overlap, we turned marketing dollars and effort into over 1,000 homes purchased.

channels
Direct Mail Phone SMS Social Field
  1. 1 Likely to sell. Motivation that decays over time: a utility disconnect cools in weeks, a probate or divorce stays warm for months.
  2. 2 Likely profitable. Z-score position against the neighborhood cohort: undervaluation, not absolute price.
  3. 3 The hard part. Normalizing inconsistently-styled neighborhood names so the peer cohorts are real. The model is only as honest as the entity-resolution under it.
stack ▸ FileMaker ProZytePythonZoho CRM

Door Knock Pro

designed & directed

The field arm of the predictive brain: a production app that turned each day's target list into a single optimized drive, then closed the loop with a QR door-hanger that sent every homeowner to a personal offer page. Two million parcels on a live map, run from a tablet between appointments.

the hard part Two problems, and I owned both. Designing the algorithm: maximize the sell-plus-profit score collected between a fixed start and end inside a stop budget, a prize-collecting route over a field of time-sensitive targets. And directing the build: I led two developers at Norml Studio to ship that model as the tablet app the field ran on.

804 Cortez St

Landlord · Dale Whitfield

4-2-2 · 2,050 sf · Built 1968

Last sold 2004 · Free & Clear

SignalUtilities cycled 3 days ago

Buy Box 81 · Sell 6

  1. 1 Objective, not shortest path. The line you see isn't the fastest way between the two pins, it's the one that collects the most sell + profit score before the day runs out.
  2. 2 Anchored to appointments. Knocks and leave-behinds bundle onto trips the acquisitions managers were already making, so incremental high-value touches cost almost no drive time.
  3. 3 Scores decay with time. A door's sell score cools as its trigger recedes: a utility cycle fades in weeks, a long vacancy stays warm for months.
  4. 4 Fed by the predictive platform. Every door is ranked by the same Venn scores; the route just spends the day on the best reachable ones.

the honest partThe routing was the easy part to be proud of; the lesson was that door-knocking is a weak channel no algorithm can rescue. The engine outclassed the tactic.

Custom Zoho CRM widget

designed it, then rebuilt it myself

Let one rep run the phone follow-up of an entire team. Every lead's texts and calls land on one screen, every conversation stays open for a teammate or a voice agent to watch and take over, and the outreach sequences fire themselves. Headcount stops being the ceiling.

the hard part Building a real-time, multi-channel comms surface inside Zoho's widget sandbox, and keeping the automated outreach TCPA-compliant and carrier-deliverable at scale.
stack ▸ Zoho CRMRingCentralZoho VoiceTelnyxVapiJavaScriptDelugeClaude Code

Access Realty · DirectList

2025 to now · co-founder

The platform behind DirectList

built solo

Professionally guided MLS listings at a fraction of the traditional cost. A guided intake captures everything needed for a listing agent to publish to the MLS. The platform runs the third-party coordination, and a licensed agent stays in where it counts: pricing strategy, the regulated steps, expertise on demand.

see it live ▸ DirectList
the fun part Realtors don't describe their workflow, they describe the deals that broke it. I sat with them until the edge cases surfaced: last-minute extensions, holiday closings, ambiguous amendment requests, then built the client journey and CRM around handling those, not the happy path.
stack ▸ TypeScriptReactPostgres + RLSpg triggersSupabaseVercelStripeClaude Code

The SEO engine

built solo

A programmatic engine that turns live MLS data into local-market pages, county down to ZIP, across both brands. Every page is grounded in real numbers, a 28-metric snapshot and a data-derived buyer-vs-seller signal, not a template with the ZIP swapped in. About 500 markets are live today, refreshed monthly by Claude Code Routines that write from each market's live stats, with ~1.88M per-address pages addressable behind them.

see it live ▸ Home-values hubHouse hunter
stack ▸ AstroTypeScriptSupabase/PostgresVercelClaude Code Routines

currently

I run a software org of one human and a fleet of agents. The thinking is mine: I frame the problem, own the architecture, and decide what ships. The agents execute against that and check their own work before I do.

design
I think through each system with Claude, adversarially: I make it argue the counter-case before I commit to an approach. It's the sharpest whiteboard I've had, not a co-author.
build
Claude Code implements inside hooks I wrote: pre-commit and pre-merge checks that block anything that fails lint, tests, or the rules I've set. Nothing ships past me by accident.
validate
I don't trust output, I check it: tests, review, a second agent grading the first. Claude verifies Claude; I verify the verification.
operate
scheduled routines run the repeatable parts on their own, inside the same guardrails, on tasks narrow enough that I've already decided the answer
iterate
in-app feedback captures the session and opens the git issue itself, replay included

about me

I like to build things. I've loved technology my whole life, and I have a hard time shutting up about AI. What I actually do is take a messy real-world problem and turn it into a product that ships and keeps getting better.

I care about real estate specifically because the transaction is needlessly expensive, and that friction stops people from moving to where their work is worth more. Lower the cost of moving and the whole economy produces more.

You've seen the machines. If you've got a workflow that needs one, let's build it.