Applied AI · software · business workflows
Connect your tools.
Simplify your work.
I’m Chris O’Keefe. I turn business problems into useful software and workflows—from figuring out what people need to building, testing and explaining the solution.
Stack at a glance
Full stack, with receipts- Software
- Python · FastAPI · Pydantic · TypeScript · React · Next.js · REST · OAuth/OIDC · Firestore · PostgreSQL
- Applied AI
- Structured LLM extraction · photo analysis · validation contracts · review gates · deterministic rules over model output
- Delivery
- Discovery and requirements · ticket contracts · context engineering · pytest / Vitest / Ruff / mypy · Cloud Run · Vercel · HubSpot · handoff
A few examples
Projects I’ve built.
- Public-notice processingMatched the client’s selected foreclosure notices with property details ready for follow-up.Same-day alerts for the client’s selected notices
- Three websites connected to one CRMShared branding and tailored guidance for foreclosure, probate and investor inquiries.3 sites → 1 CRM distinct audiences, shared inquiry tracking
- Clinic digitization & patient follow-upTook a clinic from pen and paper to a website, a full CRM, online booking, HIPAA-compliant telehealth video and opt-in follow-up.$6,000+ booked appointments in the first campaign week
Working notes
How I think about it.
- Why human review sits before the writeWhere a model output is allowed to go, and the one place it is never allowed to go on its own.
- Fail-closed valuation: no evidence, no numberHow a property value range is computed from county records, and why the most important output is sometimes nothing.
- Tickets as contracts: how a solo build stays honestThe ticket system I run the Keystone platform on: scope locks, approval envelopes, closeouts that say what is not claimed, and a status page that regenerates from the corpus.
- Context engineering: brains, pointers and drift checksHow I keep a multi-repository project legible to any model or person who opens it: durable orientation files, replaceable snapshots, a do-not-claim override and checks that surface drift.
Let’s talk.
Have a project or a question? I’d like to hear it.