What we build

AI agents with enforced limits. Knowledge systems that show their sources. Models delivered with an independent assessment of their limits.

How we work with enterprise teams

From a bounded pilot to a clean handover.

  1. Step 1

    Start with a bounded pilot

    We agree the success measures, the data in scope and the autonomy level before work begins.

  2. Step 2

    Prove it on safe data first

    Pilots run on synthetic or sanitised data until your security and risk teams have reviewed the controls.

  3. Step 3

    Transfer knowledge as we build

    We work alongside your engineers and hand over documentation, evaluation suites, tests and runbooks, so the system does not depend on us.

  4. Step 4

    Plan the exit at the start

    Ownership of code and IP, handover and transition responsibilities are agreed in the contract, not after delivery.

How we deliver

Security by design

Our agent work is designed against the risks in the OWASP Top 10 for Agentic Applications (2026). The controls below are built into the projects listed. They support your own security review and do not replace it.

  • Diagram: text injected into a document tries to change the agent's goals, but the limits live in code, so the agent stays in bounds. threatcontrolresult Injected text Limits in code Agent in bounds
    ASI01

    Agent goal hijack

    Orchestration and limits sit in code rather than in the prompt, so instructions hidden in a document or message cannot change the limits the agent works within.

  • Diagram: a risky tool call meets narrow, guarded tools, so access stays read-only and spending stays capped. threatcontrolresult Risky tool call Guarded tools Capped access
    ASI02

    Tool misuse and exploitation

    Tools are narrow and guarded: read-only database access, spend limits, approved-vendor lists and tolerances.

  • Diagram: a consequential action must pass an approval gate, so it runs only after a person signs off. threatcontrolresult Big action Approval gate Runs on sign-off
    ASI03

    Identity and privilege abuse

    Permission policy is explicit, and consequential actions pass an approval gate before they run.

  • Diagram: after a forced shutdown, persisted run state lets the work replay safely instead of failing halfway. threatcontrolresult Crash mid-run Persisted state Safe replay
    ASI08

    Cascading failures

    Writes are idempotent and verified by read-back. Run state persists, and work replays safely after a forced shutdown.

The lab's periodic table

The tools we reach for most, grouped by what they do.

Agentic AI

Multi-agent orchestration, tool calling, structured outputs, human-in-the-loop gates, evaluation harnesses.

  • 1LangGraph
  • 2LangChain
  • 3MCP

Retrieval and knowledge

RAG, GraphRAG, Cypher queries and vector search.

  • 4Neo4j
  • 5Qdrant
  • 6FAISS
  • 7Firestore
  • 8Postgres
  • 9PostGIS
  • 10Redis
  • 11OWL/RDF
  • 12Pellet

ML and research

Including multi-agent reinforcement learning (DQN, MAPPO, MADDPG).

  • 13PyTorch
  • 14scikit-learn
  • 15XGBoost
  • 16OpenCV
  • 17YOLO
  • 18SHAP
  • 19LoRA/QLoRA

Science

Docking, cheminformatics and quantum computing.

  • 20AutoDock Vina
  • 21DiffDock
  • 22Boltz-2
  • 23RDKit
  • 24Qiskit
  • 25PennyLane

Product and backend

APIs, web apps and browser automation.

  • 26Python
  • 27TypeScript
  • 28FastAPI
  • 29Next.js
  • 30React
  • 31Tailwind
  • 32Playwright

Delivery

Containers, CI, cloud and infrastructure as code.

  • 33Docker
  • 34GitHub Actions
  • 35AWS
  • 36Terraform
  • 37Vercel

Logos are trademarks of their owners and appear here only to name the tools we use.

What are you building?

Tell us what you're working on and we'll get back to you within two working days.

Start a project