Not a chatbot wrapper

Calling an LLM API is the easy part. The hard part is everything around it: what happens when the provider rate-limits you, when a model gets deprecated, when the same question gets asked 10,000 times, when the answer has to come from your documents and not the internet. I build that part.

I use these tools every day myself (Claude API, Claude Code) and I’ve shipped production AI integrations, so I know the difference between a demo that works once and a feature that works at 2 a.m. on a Sunday. I work in this space as an architect, not just a user.

What I build

  • LLM features inside your app: .NET, Power Platform, or web. Summarization, extraction, classification, drafting, search over your own data.
  • Custom AI tools for one job done well, like a translator with a provider-agnostic backend or an internal assistant that only knows your documents.
  • Multi-provider abstraction so you can move between Anthropic, OpenAI, and others without touching application code.
  • Rate limiting, caching, and fallback chains per feature, so one noisy subsystem can’t take down the rest.
  • RAG pipelines (retrieval over your data with a vector database) when the use case actually calls for it, and a straight answer when it doesn’t.
  • Observability and evals so you can see what the model is doing and tell when it gets worse.
Engagement

Project-Based

Usually starts with a short discovery to figure out whether AI is the right tool for the problem at all. If it is, I scope the build with a written plan and a price. If it isn’t, I’ll say so and suggest what is.

Proof

Multi-Provider AI Layer

Four independent AI subsystems behind one provider interface, each with its own rate limits, cache, and fallback chain. Swap the model and nothing else changes.

Read Case Study
Proof

IRIS Translator

An LLM-powered translation tool whose front end doesn’t know or care which model is behind it. React, Node, and a Gemini-backed microservice in a monorepo, 80+ production deploys.

See Project
Technologies: Anthropic Claude API · OpenAI API · Google Gemini API · C# / .NET · Python · Go · RAG · Vector Databases · Rate Limiting · Caching · Fallback Chains

Have an AI feature in mind?

Tell me what you want it to do. I’ll tell you whether it’s a good fit for an LLM, what it would take, and what it would cost to run.