Software engineer · AI systems

Software that holds up when nobody is watching.

I am a software engineer who builds AI into production systems: LangGraph agents, retrieval pipelines, multi-provider LLM routing, and the full-stack product around them. Most of what I get called for is the same problem. A team bought or built an AI feature, it demoed beautifully, and it does not survive contact with real users.

Below are three systems I designed and shipped, written the way I would walk an engineering team through them: the problem, what I built, what I rejected and why, and what happened.

PythonFastAPILangGraphAnthropic ClaudeJavaScriptReactPostgresSupabaseRailwayNetlifypytestnode --test

Three case studies

Most of the source is private because these are commercial products. The reasoning is written so it can be checked even where the code cannot. Longer versions are on GitHub.

01

A safety check that runs before the model speaks

HumxnMed · patient health-briefing assistant · LangGraph, FastAPI, Claude, Railway, Capacitor

The problem

A patient who types something frightening should never get a cheerful symptom explainer back.

What I built

A LangGraph StateGraph of five narrow nodes over a shared patient state. The first node is a guardrail that routes rather than scores: emergency, crisis, off-topic and invalid inputs exit the graph before the briefing model is ever called. The patient then confirms what is about to be looked up through a real LangGraph interrupt. The graph halts, persists, and resumes after confirmation. Retrieval and the briefing come after that.

What I rejected

A careful system prompt. A prompt asking a model to be careful is a request, and a node that ends the graph is a guarantee. Confirming after retrieval. That is cheaper to build, but the patient would be confirming a lookup that had already happened. One capable agent with tools. It needs less code, but I could no longer say which paths can reach generation.

What happened

The system is deployed and shipped as a mobile app. The four terminating classes are tested and asserted never to reach generation, the property that matters most. The evaluation set is still hand-built and small. I say that plainly and do not publish a precision figure I wrote the test set for.

02

A score you can argue with, not a confident number

MCGrantz · grant winnability engine · FastAPI, Postgres, Claude, Railway · live

The problem

Nonprofits, small businesses, researchers, cities and tribal organizations do not need more grants to look at. They need to know which ones they can actually win.

What I built

Scoring as retrieval over public records, not as the model’s judgment. Federal opportunities from Grants.gov are cross-referenced against USASpending award history for that exact program: who actually won it, how often and at what size. Private foundations come from IRS 990-PF filings, about 130,000 filings and 488,000 grants, re-indexed when a new filing year lands. The applicant is compared against the real winners. Every score breaks down into factors that trace back to a source row.

What I rejected

Letting the LLM produce the score. It would be fluent and plausible, and there would be no way to tell a grounded 70 from an invented one. So retrieval decides and the model only explains. Scoring on generic eligibility. Eligibility says who may apply, and award history says who does win. The product is the gap between the two.

What happened

The engine is live in production with Stripe checkout. A $250k nonprofit looking at an NIH R01 whose past winners are research universities gets 11 out of 100, “Long shot”, not a polite 70. The scores are grounded but not yet calibrated against outcomes, and I do not claim the second.

03

Privacy as an architectural fact, not a policy

MCStanding · data-broker compliance across 11 regimes · Vite, React, node --test · live

The problem

Most compliance tools ask you to upload the exact data the law says you have to protect.

What I built

A compliance cockpit with no backend. The suppression-list matching engine runs entirely in the browser, and the content security policy blocks outbound connections, so there is nowhere for the data to go. Each jurisdiction is a profile, not a fork. The matching engine underneath is jurisdiction-neutral, and adding a regime means adding data rather than branching the app. Every date, fee and penalty carries a citation field.

What I rejected

A conventional SaaS backend. It would bring scale and sync, and it would create a second copy of the customer’s liability and a breach target. Filling gaps with plausible numbers. Where a figure could not be verified to a primary source, the product says so. In a tool whose value is that its numbers are checkable, one invented figure discredits all the honest ones.

What happened

It is live and covers 11 regimes, from US state registries to GDPR, UK GDPR, LGPD, PIPEDA and Québec Law 25. 304 tests across 55 suites pass, with the engine tested independently of the profiles so a new regime cannot silently change an old one. Tests check the rules as encoded. Whether the encoded rules still match current law is a research job, and the citations exist so a person can audit it.

Open source

Small, complete, tested tools built on the patterns above. Read the code, run the tests.

failclosed-guardrail. A LangGraph safety guardrail that fails closed. Crisis input exits before generation, and CI fails if any crisis case leaves the safety routes.
llm-failover. Multi-provider LLM routing with retries, per-provider circuit breakers and a deadline. Falling back never hides a revoked key.
award-odds. See who actually won a federal grant program before you apply. Public USASpending data, transparent rules, no LLM.

Work with me

Prices are listed so you can decide before we talk. The first 30-minute call is free and is only to find out whether I am the right person.

$350
Power hour
60 minutes, recorded, notes after. An architecture review, a stuck build, model and provider selection, or an honest answer on whether to build it at all.Book & pay →
$2,500
AI readiness audit
One week and a written report: what your team does by hand, what to automate and what to leave alone, a cost comparison on real numbers, and a 90-day sequence.Book with 50% deposit →
$8,500+
Build
Scoped per project. RAG and retrieval systems, multi-agent LangGraph workflows, multi-provider routing and fallback, with handover documentation your team can run.
Fractional engineer. 20 hours a month, ongoing. $8,000 a month, 3-month minimum.
Code and prompt review. $350 an hour.
Say It So It Ships. AI for leaders who do not write code. 90 minutes, hands-on, up to 25 people. $3,500 in person, $2,000 online.

You get a written scope and a fixed price within 2 business days. Payment is 50% to start and the balance on delivery, net 15, with no retainer except on fractional work. If the audit concludes you should not build the thing you called me about, the report will say so.

I am also open to senior and staff software engineering roles where the work includes AI systems.

finessehumxn@gmail.com GitHub LinkedIn