← All work

A real estate team at one of Arizona's top brokerages · Real Estate

Branded listing sites for every agent, fed by the official MLS feed, with each lead routed back to the agent who earned it.

Fractional CTO, Platform Architecture, Web Development, CRM Integration, Automation

ToolsNext.jsVercelConvexResendGoHighLevelDiscordOpenRouterPythonMeta Pixel
A system map of the platform: MLS feed, data pipeline, real-time data core, agent listing sites, and per-agent CRM and ad tracking

A branded site for every agent

A real estate team of about ten agents wanted a branded listing site for every agent, each on its own domain and kept current with the MLS. Every lead from those sites had to land with the agent who earned it, in that agent's own CRM. Our work began in April 2026 as a CRM automation build. On August 12, 2026, we took over the platform from the team's prior developer, and the job became a fractional CTO role. From that day the whole platform was ours to run, and to keep running while we built on it.

Small services around one data core

We built the platform as small, single-purpose services around one shared real-time data core in Convex, instead of one large app. That way one bad tool can never stall lead routing for the whole team, and each piece ships and gets tested on its own.

  • An MLS pipeline that confirms each change alert really came from the MLS, matches it to the right agent, and writes it to the data core. Beds, baths, square footage, and photos come only from the licensed feed.
  • An AI parser, run through OpenRouter, that reads each alert for routing details only (which listing, which agent, what changed). It is never allowed to supply a property fact.
  • Agent-branded listing sites on Next.js and Vercel, with photos, a map, tour booking, and lead forms on every page.
  • Discord bots and an open house planner, so an open house typed into Discord shows up on the live listing page.
  • Per-agent handoff into GoHighLevel, with Meta Pixel tracking for each agent's own ads. A form or booking creates a contact in that agent's account, tagged by source, and starts a follow-up sequence that stops the moment the agent takes over.

Every agent live, every tool checked

As of September 17, 2026, all 8 agents on the platform were live on their own domain. Two days later we moved MLS data off scraping and onto the official MLS data feed, so every listing fact now comes from the licensed source. We also held the home-valuation tool up against real sales. In our backtest on 32 closed homes across 8 ZIP codes, median error ran 9.5 to 15.4%, depending on which pool of comparable sales it drew from. The team gets a measured error range to work with instead of a guess.

The tools around the edge get the same check. A functional audit on September 14, 2026, found one tool returning hollow reports, so we pulled it to Coming Soon that day instead of leaving it in front of agents. Today the listing sites, the data core, the Discord bots, the open house planner, and per-agent ad tracking are live and in use, and the MLS pipeline has a person review each change before it publishes.

Building something similar?

Tell us what you need.

Send the context, the broken parts, and what you need it to do. We'll tell you plainly where we can help.

Start a conversation