Work

Three current projects, described honestly: what the problem was, what we built, and what we know so far.

AI agent, production

Whiterock Locators: an AI agent that runs an apartment-locating service

The problem

Whiterock Locators ran a traditional apartment-locating business with a dozen commissioned agents. Training and turnover were expensive, lead generation was expensive, and fewer than one agent in five performed well. When the market tightened, the human-agent model stopped being profitable and the business shut down.

What we built

A relaunch of the business with an AI agent doing the work the human agents did. The agent reads an inbound lead in plain language, extracts what the client needs, searches listings, and carries on the conversation over email and SMS. It follows up on its own schedule, verifies pricing and availability with properties, and books tours. A browser-automation worker handles the property-data lookups that have no API. Staff supervise from an admin console and step in when the agent hands off.

What we know so far

The system is live and handling real leads. The engagement targets are set (reply time under two minutes, open and reply rates, tour and lease conversion) and we are measuring against them. It is early, so we will publish numbers when they mean something. The technical result is already clear: one operator can run a workflow that used to take a team.

Under the hood

  • Python, FastAPI, Postgres with pgvector
  • LangGraph conversation agent with tool use, Claude and OpenAI models evaluated side by side
  • SendGrid email and Twilio SMS, inbound and outbound
  • Playwright and Firecrawl browser automation for listing data
  • Evaluation suite, conversation audit log, read-only database role for the agent
  • Architecture decision records and monthly releases
AI web application

Kaight.ai: a conversational financial-planning assistant

The problem

Most retirement calculators are either too simple to be useful or too complicated for anyone but a planner. Most people never get past the form. We wanted to find out whether a conversation could replace the form, and whether an assistant could teach financial literacy while it planned.

What we built

Kaight is a chat assistant that interviews you, runs the retirement math with its own calculator tools, and shows the results as charts and forms inside the conversation. It started as a WordPress plugin in 2024 and was rebuilt in 2025 as a multi-tenant web application so that advisors can bring their own clients. It is also our portfolio piece: it shows how we structure an AI product end to end, from authentication and data model to streaming chat, tools, and observability.

Read the launch post and how the calculator evolved.

Under the hood

  • Next.js, TypeScript, Prisma, Postgres
  • Streaming Claude chat with structured tools via LangChain and LangGraph
  • Artifact system for charts and forms inside the conversation
  • Multi-tenant organizations, roles, CSV client import
  • LangSmith tracing and structured logging
Research lab

iaai lab: honest machine learning for portfolio strategy

Why it exists

AI and machine learning are easy to fool yourself with. Backtests overfit, results get cherry-picked, and models that look brilliant on paper lose money in production. We wanted a place to practice doing it right, with our own money on the line.

What we built

A research lab where every experiment is pre-registered before it runs: the hypothesis and the acceptance bars are committed first, then the code, then the results, including the failures. A ledger indexes every verdict. The winning model runs as a live daily trading signal with an operator runbook. A public site publishes the model portfolios and the record.

This discipline, pre-registration, evaluation before trust, and honest reporting, is the same one we bring to every client AI build.

Under the hood

  • Python, PyTorch, XGBoost, parquet data layer
  • Frozen data snapshots and pre-registered experiment harness
  • Live signal scheduled and monitored, real brokerage account
  • FastAPI and HTMX public site with magic-link sign-in

Twenty-five years of client work

From Neighborly franchise brands and national associations to Fortune 500 companies, we have built websites, web applications, and analytics tools for organizations like these.

Neighborly logo Real Property Management logo Mr. Rooter Plumbing logo Mr. Electric logo Glass Doctor logo National Athletic Trainers' Association logo Mission Pharmacal logo AT&T logo McDonald's logo USAA logo US Bank logo Nationwide logo Revlon logo Abbott Laboratories logo Simon & Schuster logo Pratt & Whitney logo NEC logo Tektronix logo Miami Dolphins logo Raiders logo Boy Scouts of America logo Southern Methodist University logo Kimbell Art Museum logo United Way logo Sally Beauty logo Capella University logo Children's Medical Center logo Uniden logo SoftLayer logo La Quinta logo

Want something like this for your business?

Start with an assessment, or tell us about the workflow directly.

Start a conversation See services