OBSIDIAN · WOLVES

Initializing systems...

AI Development

AI Development Company

Most AI projects fail on the parts that are not the model: the retrieval quality, the evaluation harness, the cost per request at real volume, and what the product does when the answer is wrong. We build AI features that survive those questions, and we will tell you when a problem does not need a model at all.

What's included

LLM applications

Assistants, copilots and generation features built on the Anthropic and OpenAI APIs, with prompt versioning, streaming and structured outputs.

Retrieval-augmented generation

Document ingestion, chunking, embeddings and vector search over pgvector, with retrieval quality measured rather than assumed.

Document and speech processing

Extraction, classification and summarisation pipelines for contracts, invoices, tickets and recordings, with a human review step where accuracy matters.

AI inside existing products

Adding an AI feature to a product you already run — scoped so it ships behind a flag and can be measured against the version without it.

Evaluation and cost control

Evaluation sets, regression checks on prompt changes, caching, model routing and per-request cost budgets before launch, not after the first invoice.

How we work

  1. 01

    Qualify the use case

    We check whether the task is one a language model is actually good at, and what accuracy the product needs to be useful.

  2. 02

    Data and retrieval

    Assess the source data, design ingestion and retrieval, and measure whether the right context is being found before generation is tuned.

  3. 03

    Prototype and evaluate

    A working prototype with an evaluation set, so quality is a number that moves rather than a feeling in a demo.

  4. 04

    Productionise

    Streaming, rate limits, fallbacks, caching, observability, and safe handling of prompt injection and sensitive data.

  5. 05

    Launch behind measurement

    Release with usage, quality and cost instrumented, and a rollback that is one flag away.

  6. 06

    Tune

    Iterate on retrieval, prompts and model choice against the evaluation set and real usage.

Technology we use for this

  • OpenAI
  • Anthropic
  • LangChain
  • pgvector
  • Python
  • Node.js

Frequently asked questions

Do you train your own models?
Rarely, and only when there is a clear reason. Most business problems are better solved by retrieval, good prompting and a strong hosted model than by training and maintaining your own. We will say so when that is the case.
Which models do you build on?
Primarily Anthropic's Claude and OpenAI's models, chosen per task and routed so a single feature can use a cheaper model where quality allows. We keep the provider behind an abstraction so switching is a configuration change.
How do you stop it giving wrong answers?
Ground answers in your own data through retrieval, constrain outputs to structured formats where possible, evaluate against a fixed test set, and design the interface so the user can see sources and correct the system.
What does it cost to run?
That depends on volume and model choice, and it is a design constraint we set with you before building. We instrument cost per request and use caching and routing to keep it inside the budget.
Is our data used to train models?
No. We use enterprise API tiers with zero data-retention terms where available, and we design pipelines so sensitive fields are redacted before they leave your infrastructure.

Scope your AI product

Describe the task you want automated or augmented, and what a good answer looks like. We will tell you honestly whether AI is the right tool and what it would take.

Start the conversation