Skip to content
willowark

Get research code into production at a cost and latency you can defend

Willowark builds the production layer around models: inference services that hold a latency budget, retrieval pipelines that stay fresh and measurable, evaluation harnesses that catch regressions before customers do, and the GPU scheduling and data infrastructure research depends on but nobody wants to own. What we remove is the distance between a notebook producing good outputs and a service that stays fast and costs what the unit economics assumed.

We work alongside your researchers rather than around them, reading the training and inference code as written instead of rewriting it into someone else's idiom. In practice: pinned dependencies and a containerized runtime, a typed interface and dynamic batching in front of the model, streaming and timeouts with a defined degradation path, and token and GPU-second accounting per feature and customer.

A first engagement here is usually narrow and urgent: a design partner deadline that needs the demo turned into a service with an SLO, or an evaluation harness so the team can stop arguing about whether the last prompt change helped. We start from the code that exists, add the missing layer without disturbing the research loop, and leave the instrumentation running. The constraint that shapes the work is that the people who understand the model have no time to own infrastructure, so what we build has to be operable by a small team under deadline.

Reviewed

Illustrative: a software team's open office with monitors showing dashboards

Sound familiar?

If you've said any of these, we should talk.

Inference costs far more than our pricing model assumed.

We make cost measurable per feature, tenant, and request path first, because spend concentrates in a few call sites. Then comes routing to cheaper models where evaluation shows no quality loss, caching at exact-match and semantic layers, trimming context sent out of habit, and distilling smaller models for narrow paths.

We cannot tell whether a change actually made the product better.

We build the evaluation harness as real infrastructure: versioned datasets drawn from production traffic, task-specific rubrics, deterministic and model-graded checks where each fits, and regression gates in CI on every prompt, retrieval, or model change. Offline results pair with online telemetry.

The research repo works on one machine. Nobody can deploy it.

We turn it into a service without turning it into a fight: reproducible builds with pinned CUDA and library versions, a versioned API with typed contracts, request queueing and dynamic batching, autoscaling with warm pools, and graceful degradation when capacity runs short. The research workflow stays intact.

GPU capacity is either sitting idle or completely booked.

We build the scheduling layer: a job queue with priorities and quotas, checkpointing so preemption is cheap, spot and reserved capacity blended with automatic fallback, and utilization telemetry per team. Training and batch work fill the gaps around latency-sensitive serving instead of competing with it.

Our data pipeline is a folder of scripts, and nobody is sure which version trained the current model.

We put lineage under the pipeline rather than on top of it: versioned datasets with content hashes, transforms run as tracked jobs with recorded inputs and outputs, and model artifacts that point back to the exact data and code that produced them. Reproducing a training run becomes a command, not an archaeology project.

How this industry actually runs

The operation as we usually find it.

AI companies tend to be research-heavy and platform-light. The people who understand the model also maintain the training cluster, the eval scripts, and the data pipeline, and they are on call for all of it. Release pressure comes from funding milestones and design partner deadlines rather than a normal roadmap, which pushes effort toward whatever demos fastest. The result is familiar: inference is the second-largest line item after payroll and nobody can attribute it precisely, GPUs sit idle overnight and oversubscribed before a deadline, and quality is tracked in a shared document of examples.

Product, integrations, and the AI feature behind themAPIstructured callsYour productweb, mobile, APIBackend servicesqueues, jobs, evalsAI featureretrieval, review gatesData & integrationswarehouse, third parties

Product, integrations, and the AI feature behind them

Components:

  1. Your product (web, mobile, API)
  2. Backend services (queues, jobs, evals)
  3. AI feature (retrieval, review gates)
  4. Data & integrations (warehouse, third parties)

Connections:

  • Your product to Backend services (API)
  • Backend services to AI feature (structured calls)
  • Backend services to Data & integrations
Product, integrations, and the AI feature behind them

What we build

Starting projects that fit AI & Machine Learning Companies.

  • Inference services with batching, streaming, timeout budgets, caching, and fallback routing
  • Retrieval pipelines: chunking, embedding refresh, hybrid search, and incremental reindexing
  • Evaluation harnesses with versioned golden sets, rubrics, and CI regression gates
  • Token and latency instrumentation with per-tenant accounting and model routing policies
  • GPU scheduling: quotas, checkpointing, spot handling, and experiment tracking
  • Labeling and feedback infrastructure with review queues, provenance, and dataset lineage
  • Research code turned into versioned, deployable, observable services
  • Agent and tool-calling runtimes with sandboxed execution, per-step tracing, and cost caps

Capabilities we bring

Working in AI & Machine Learning Companies?

Tell us the line.

What runs by hand, what is not connected, what you are trying to build. An engineer replies within one business day with whether and how we would approach it.

We reply within one business day. No newsletter unless you ask. Privacy

Common questions

What AI & Machine Learning Companies teams ask first.

How do you work next to a research team without creating friction?

By owning what researchers generally do not want to own — serving, scheduling, pipelines, evaluation plumbing, observability — and treating model and method decisions as theirs. We propose changes as design docs and pull requests, and we measure before we argue. If a change does not hold up in evaluation, it does not ship.

Do you work with self-hosted and open-weight models, or only provider APIs?

Both, often in the same system. Provider APIs win on capability and time to ship; self-hosted weights win on cost at volume, latency control, and data handling constraints. We build the routing so the choice is a policy decision per request path, and a provider deprecation is a config change.

What AI systems have you actually built?

The clearest example is the AI operating software we built for Jaguar Land Rover's training organization. It removed manual scheduling and logistics work for their schedulers and saved hundreds of hours a year, spanning full-stack development, cloud architecture, and distributed systems across the JLR ecosystem.

Who owns the code, the prompts, and anything we build together?

You do, under a typical engagement. We work in your repositories under your agreements, and the services, evaluation sets, prompts, and infrastructure code we produce are work product assigned to you. We do not reuse client models, data, or prompts elsewhere. Where we bring general-purpose tooling of our own, we say so up front so nothing you depend on is a surprise later.

Should we build our serving and eval stack or buy a platform for it?

Usually a mix, and the honest answer depends on where your differentiation sits. Hosted platforms for experiment tracking, vector search, and observability are typically worth buying early because they are not where you win. Serving, routing, and evaluation logic tied to your product usually deserve to be yours, since they encode decisions about cost, quality, and failure modes. We help draw that line before writing code, and we are comfortable recommending a product over a build.

Strategy. Software. Systems.

Engineering for AI & Machine Learning Companies.

Describe the problem in your own words. An engineer reads it — not a sales script — and tells you plainly what it would take.