Skip to content
AI Services · Build

LLM app development built for production, not demos

We design and build applications on Claude, GPT, Gemini and open-weight models with routing, tools, retrieval, evals and observability in the architecture from day one.

  • Python, Node.js, PHP/Laravel
  • Claude, GPT, Gemini, Llama, Mistral
  • Cloudflare, Azure, your own servers
Reference architecture

The shape of every LLM application we ship

Prototypes call a model directly from a web form. Production systems put four things between the user and the model: a gateway, an orchestration layer, a router and a measurement layer. Skip any of them and you will add it later under pressure.

LLM application architecture: client to API gateway to orchestration to model router, with tools and retrieval, four model families, and an evals and observability layer underneath Client API gateway Orchestration Model router stream auth, limits prompt + context Tools & RAG APIs, MCP servers, vector search calls tools, fetches context Claude GPT Gemini Open-weight route by task, cost, residency Evals & observability: traces, scores, tokens, cost, latency
Reference architecture. The router lets the same application use Claude for agentic work, a cheaper model for classification and an open-weight model where data must stay in-region. Everything emits traces to the measurement layer.
Who this is for

Outcomes we are asked for most

Assistants grounded in your data

Customer and employee copilots that cite sources and know when to hand off. Built with our AI knowledge base practice.

AI features inside existing products

Summaries, smart search, generation and recommendations added to a SaaS product or mobile app without rewriting it. See AI integration.

Model choice

How we think about the four model families

Benchmarks change monthly; the qualitative differences change slowly. This is the thinking behind our model routing policy. The final decision for your application is made against your own eval set.

Model familyTends to fitStrengths we lean onWatch-outsWhere it runs
Anthropic ClaudeAgentic workflows, long documents, coding assistants, tool-heavy appsReliable tool use, strong instruction following, long context, MCP support in the ecosystemDesign prompt caching and context budgets early to keep costs predictableAnthropic API, major cloud marketplaces
OpenAI GPTGeneral assistants, structured output, broad consumer-style chatMature SDKs and tooling, wide third-party support, multimodal inputFrequent model generations; pin versions and re-run evals on upgradeOpenAI API, Azure
Google GeminiMultimodal workloads, organisations already on Google Cloud or WorkspaceLarge context, native image, audio and video input, tight Google Cloud integrationFewer community patterns for some agent frameworksGoogle AI Studio, Vertex AI
Open-weight (Llama, Mistral)Data residency, very high volume, custom fine-tuning, offline or edge useFull control over data and weights, predictable unit cost at scale, no vendor lock-inYou own the operations: GPUs, quantisation, scaling, safety tuning and evalsSelf-hosted, Cloudflare Workers AI, Azure, on-device

Qualitative only, reviewed as the market moves. For a deeper comparison read on-prem versus cloud LLMs and small language models.

What we deliver

Everything a production LLM feature needs

  • Architecture and model policy

    A written design: which model handles which task, context limits, caching, fallbacks and the data each call is allowed to see.

  • Orchestration code you own

    Explicit control flow in Python or Node.js, with structured outputs, retries, timeouts and streaming. No framework magic between you and the bug.

  • Retrieval and tools

    Vector search on pgvector or Milvus, hybrid ranking, and tool integrations through APIs or MCP servers.

  • Eval suite and release gate

    A versioned test set scored in CI. A change ships only when it beats the current version on the metrics you care about.

  • Security controls

    Prompt injection defences, output filtering, least-privilege tools and PII handling, reviewed by our AI security team before launch.

  • Observability and cost tracking

    Traces for every call, token and cost dashboards, latency percentiles and quality-drift alerts through LLMOps monitoring.

Process

From first prompt to first release

  1. Week 1: Scope and evals

    Problem statement, success metric, data access, and a first eval set written with your experts.

  2. Weeks 2–3: Thin slice

    The narrowest end-to-end path on real data. Model choice tested against the evals, not opinions.

  3. Weeks 4–6: Harden

    Gateway, routing, retries, guardrails, security review, observability. Load and cost tests.

  4. Weeks 7–8: Release

    Staged rollout behind a flag, runbook, handover and a production eval baseline.

What goes wrong when this is skipped

The three failures we are most often called in to fix: a prompt nobody can change because there is no test set, a bill that doubled because every request carries the whole document, and an assistant that follows instructions hidden inside the content it reads. All three are architecture decisions, made or not made in the first fortnight.

FAQ

Frequently asked questions

Which model should we build on?

Usually more than one. We put a model router behind your application so each task runs on the model that suits it, and so you can switch when pricing or quality changes. The table on this page explains how we think about Claude, GPT, Gemini and open-weight models; the final choice is made with your eval set, not by opinion.

How long does an LLM application take to build?

A thin production slice typically takes four to eight weeks: one feature, real data, evals, security review and monitoring. Broader applications with several integrations usually run three to six months. We stage releases so something useful ships early.

Do you use frameworks like LangChain or build from scratch?

We prefer small, explicit orchestration code with the vendor SDKs, and add a framework only where it genuinely removes work. Frameworks hide the control flow you will need to debug at 2 a.m. Either way, you own the code.

What does an eval set look like and who writes it?

A versioned collection of real inputs with expected outputs or grading rubrics, scored automatically on every change. We draft the first set with your domain experts in week one and grow it from production traffic. See fine-tuning and evals.

Can you host on our own infrastructure?

Yes. We deploy to Cloudflare Workers, Azure, Docker on your VMs or on-premise, and we can run open-weight models where data residency rules require it. See our guide to on-prem versus cloud LLMs.

Ready to make AI work in production?

Tell us about your systems, your data and your constraints. We reply within one business day with a straight answer and a suggested next step.