Skip to content
Software that acts

Agentic Systems & Automation

Systems that choose their own next step — tool-using agents, orchestrated workflows and automation that spans your existing systems — designed so that what they are permitted to do, and what happens when they are wrong, are decided up front.

The hard part of an agent is almost never the model. It is the boundary: what it may do unsupervised, how a half-finished multi-step action is recovered, and how you stop it. Most production systems marketed as agents are workflows with a model in them — and that is usually the correct design, chosen deliberately rather than by default.

What we build

The work itself

01

Tool-using agents with bounded authority

Agents whose permissions are scoped by least privilege, whose irreversible actions require a human, and whose every step is logged in a trajectory you can replay. Reversibility tiers decided at design time, not after the first incident.

02

Orchestrated workflows

Routers, orchestrator-worker patterns and parallel fan-out with a reducer, chosen by what the problem needs rather than by what is fashionable. We start with the simplest loop that works and escalate only on evidence.

03

Tool and MCP interfaces

The quality of an agent is mostly the quality of its tools. Interfaces designed for a model rather than a human — naming, granularity, idempotency, error messages written as instructions — exposed over the Model Context Protocol so they are reusable across systems.

04

Trajectory evaluation

Replay harnesses with recorded tool responses, outcome and trajectory scoring, step and cost budgets asserted in CI. An agent that reaches the right answer after forty expensive steps has still failed, and your harness should say so.

05

Production operation

Sandboxed execution, durable and resumable runs, step-level idempotency, circuit breakers and runaway-cost protection, rate limiting against downstream systems, and a documented way to stop one mid-flight.

The hard parts

What goes wrong, named up front

A vendor who cannot tell you where their own discipline is difficult has either not done it or is not going to tell you the truth about your project either.

Autonomy is bought with predictability

Every increment of independence costs you the ability to say in advance what the system will do. That is sometimes worth paying and frequently is not, and the decision should be explicit rather than inherited from a demo.

Multi-agent reintroduces coordination cost

Several agents talking to each other have the same communication-overhead problem several teams do, without the judgement to route around it. More agents is usually a worse answer than one well-designed loop with better tools.

The failure mode is confident and plausible

An agent rarely fails loudly. It produces something that looks right, in the right format, at the right time. Detection has to be engineered — budgets, assertions, evaluation — because it will not announce itself.

Agents & Orchestration

  • Model Context Protocol (MCP)A standard interface for exposing tools and data sources to models, so an integration is written once rather than per application.
  • Claude Agent SDKBuilding agentic applications on Claude — tool loops, permissioning and session handling — where a framework earns its place over a hand-rolled loop.
  • Hand-rolled agent loopsMost production cases. A plain loop with good tools and explicit termination conditions, because a framework you do not need is a dependency you cannot debug.
  • Sandboxed executionContainerised, network-restricted environments for any agent that runs code or touches a file system, with least-privilege credentials scoped per run.
  • Durable executionResumable, step-level workflow state so a long-running agent survives a restart without repeating side effects.
  • Trajectory evaluation & replayRecorded tool responses replayed in CI, with outcome scoring plus step and cost budgets asserted as tests.
  • Browser automationPlaywright-driven interaction for systems that expose no usable API, kept behind the same permission boundary as any other tool.
  • Circuit breakers & cost capsPer-run step limits, spend ceilings and downstream rate limiting, so a loop that goes wrong stops rather than escalating.

AI & ML

  • Anthropic ClaudeLong-context reasoning, code generation, agentic workflows and document-heavy tasks.
  • OpenAIGeneral-purpose generation, embeddings, structured output and multimodal work.
  • Google GeminiMultimodal tasks, very long context and workloads already sitting in Google Cloud.
  • Open-weight modelsSelf-hosted inference where data residency, unit cost at volume or offline operation rules out an API.
  • Model routing & cascadesCheap model first, escalate on uncertainty or failure. Provider abstraction so a model change is configuration rather than a rewrite.
  • Vector & hybrid retrievalEmbedding pipelines, dense and keyword retrieval together, reranking, and grounding so answers cite a source.
  • Evaluation harnessesGolden sets, rubric grading and regression suites that run in CI, so a prompt or model change is measured rather than argued about.
  • Tracing & cost telemetryPer-request tracing, token accounting and unit cost per outcome, so the economics are visible before they become a problem.

Backend & Data

  • SupabasePostgres with authentication, row-level security, realtime subscriptions, storage and edge functions.
  • PostgreSQLThe default relational store, self-hosted or managed depending on the estate.
  • UpstashServerless Redis, queues and vector storage — caching, rate limiting, background jobs and retrieval indexes that bill per request.
  • RenderLong-running services, background workers and cron jobs that do not fit a serverless execution model.
  • Node.js & PythonApplication services and data or ML workloads respectively.
  • RustLatency-sensitive services and on-chain runtimes, where the performance and safety guarantees pay for the slower development cycle.
  • AWS, GCP & AzureWhere an enterprise estate, data residency or procurement requires a major cloud, with infrastructure defined in Terraform.

This is what we reach for when the decision is ours. When you already have an estate, we work in it — the stack is part of the engagement, not a precondition of it.

Roles we staff

  • AI Engineer
  • Agent Systems Engineer
  • Backend Engineer
  • Evaluation Engineer
  • Security Engineer

The reasoning, published

How we think about agentic

Every capability has a matching domain in the knowledge library. Read it before you talk to us — it is the fastest way to tell whether we know what we are doing.

All articles

How to buy it

Pick the engagement model separately

Capability answers who works on it. The engagement model answers what we are accountable for, how it is priced and how it ends.

Other capabilities

Probabilistic systems

AI & Applied ML

LLM applications, retrieval systems, agents and applied ML built to a standard you can put in front of a regulator — with evaluation harnesses, cost controls and failure behaviour designed in rather than discovered in production.

Irreversible deployment

Blockchain & Smart Contracts

Protocol and application development where a deployment cannot be rolled back and a defect is a withdrawal. Contract engineering, security review, upgradeability design and the on-chain boundary decision.

Gated releases

Mobile & Cross-Platform

iOS, Android and cross-platform applications delivered continuously despite a third party sitting between your merge and your users — staged rollouts, feature flags, release trains and a native-versus-cross-platform decision made on economics.

The paved road

Platform & Data

The substrate the other three stand on: cloud infrastructure, deployment pipelines, observability, data platforms and the internal paved road that determines how fast every team above it can move.