I’m an operator who builds AI systems and then puts them to work inside a real business, starting with my own.

Everything below is live. Every number was checked on October 6, 2026.

I connected my CRM to AI so I could stop clicking

The problem. Follow Up Boss is the CRM most real estate teams live in. Adding a note, moving a deal, tagging a contact. Each one is a few clicks and a page load, fifty times a day. AI assistants had no way in.

What I built. An open-source MCP server that gives any AI assistant the full Follow Up Boss API. 160 tools, plus about and help. Safe Mode is on by default and hides the delete tools. Claude Desktop users download one .mcpb file, open it, paste their API key, and they’re running. No terminal.

The hard part wasn’t the endpoints. It was the tool descriptions. “Update a person” and “merge two people” and “check for a duplicate” look alike to a model. I tuned each description against real use until Claude picked the right one.

The proof.

GitHub · Landing page · Build notes

I put the Austin MLS inside Claude and ChatGPT

The problem. More buyers start their home search in an AI chat now. Our listings weren’t there. And a question asked in a chat never turned into a lead.

What I built. A hosted MCP server at mls.neuhausre.com/mcp. Paste one URL as a custom connector in Claude, ChatGPT, Perplexity, Cursor, or Gemini CLI. Sign-in is OAuth 2.1 with dynamic client registration and PKCE, the same handshake the big AI clients expect.

The first time someone connects, the server creates a contact in Follow Up Boss. So the AI conversation becomes the intake form. Anyone gets live active listings for free. Clients with a signed buyer agreement unlock sold comps and market stats (MLS rules keep sold data behind that agreement, and the server enforces it). Rate limits run at both nginx and Redis. It reads from the same Postgres database and Redis cache as the search on neuhausre.com. One dataset, two front doors.

The proof.

How to connect · Build notes

I gave AI assistants free access to Austin public records

The problem. Every client question meant a different government website. Flood zone, that’s FEMA. Taxes, that’s the appraisal district. Permits, that’s the city. Three counties, and each one publishes data its own way.

What I built. A free, open-source MCP server (Apache-2.0) with 43 tools. It covers three county appraisal districts, City of Austin open data, FEMA flood maps, Lake Travis levels, real-time CapMetro buses, and the city code text. One tool, austin_property_360, pulls all of it for a single address in one call.

It installs with one command and needs no API keys. That was a hard rule. Strangers run this code on their own machines, so no credential of mine can ever live in the repo. The work that mattered was normalizing every county’s response into one clean shape.

Then I pulled the reusable parts into a template with a written standard, and started Dallas, San Antonio, and Houston from it.

The proof.

GitHub · City template · Build notes

I built a paid investment analyzer for short-term rental buyers

The problem. Most Airbnb calculators run on national averages. The good data tools cost more than a small investor wants to pay.

What I built. StaySTRA. Type in an address and get projected revenue, nightly rate, occupancy, cap rate, cash-on-cash return, DSCR, and more than 20 other metrics, with the comparable rentals behind them. Pro is $7 a month or $59 a year, billed through Stripe.

Paying members create their own API key from their account page. 50 calls a day. The key dies with the subscription, and an hourly job revokes keys for anyone who stopped paying. Nobody has to issue a key by hand.

The proof.

Try the analyzer · Build notes

I run my brokerage on systems I built

The problem. A standard listing feed shows buyers less than they want. Keeping hundreds of neighborhood pages current by hand doesn’t happen. And leads leak between the website and the CRM.

What I built. Neuhaus Realty Group runs on a custom WordPress theme and plugin, plus a property search backed by our own Postgres database that syncs with the MLS. The same data feeds a rate-limited public API, which is what powers the Austin MCP server above. Content goes through drafting, fact-checking, and SEO steps before it publishes. Every lead form and connector routes into Follow Up Boss on its own.

The proof.

neuhausre.com · Build notes

It all runs on two servers I manage

Two production Linux servers run 28 containers and 119 scheduled jobs between them (counted October 6, 2026). Traefik and nginx in front, Cloudflare at the edge, Postgres and Redis underneath, daily backups. Most of the code was pair-programmed with Claude. I make the architecture calls, review what ships, and get the page when something breaks.

That’s the work I want to do on a team. Find the friction people put up with every day, then wire AI into the tools they already use.

Email me at [email protected].