Virtual Coder

Engineering, and the judgment that goes with it.

Four kinds of engagement. Each ends with something running in your production environment, owned by you.

Applied AI and agent systems

Research agents, assistants and AI features that survive contact with production traffic, built on the services your business already runs on.

We have shipped LangGraph research agents evaluating people and companies at scale, a coaching assistant, and a first-party Model Context Protocol connector with twenty-six tools behind OAuth. The pattern is consistent: agents call the same service layer your application does, so there is never a second, untested copy of your business rules.

Typically includes

  • LangGraph and LLM agent systems in Python or TypeScript
  • Model Context Protocol servers, so your product works inside ChatGPT and Claude
  • OAuth 2.1 and dynamic client registration on Clerk, Supabase, Auth0 or your own provider
  • Evaluation harnesses for features that pass a demo and fail in production
  • Security review of the token, tool and permission model

Product engineering

Web, API and native mobile delivered by one team, including the parts that never reach a demo: migrations, CI, observability and release process.

Next.js and React on the front, NestJS and Postgres behind them, native Swift and Kotlin where the product belongs on a phone or a television. We work in shippable increments against your real environment rather than a demo branch, and the pipeline that deploys it is part of the deliverable.

Typically includes

  • Next.js and React applications on Vercel or Cloud Run
  • NestJS, TypeORM and Postgres APIs
  • Native iOS, Android and TV applications in Swift and Kotlin
  • Auth, billing and lifecycle email: Clerk, Supabase, Stripe, Resend
  • CI, database migrations, instrumentation and release process

Technology leadership

Fractional CTO and architecture work for founders and boards who need decisions made and owned, rather than another contractor to manage.

Roadmap and sequencing, architecture decisions you will not have to undo in six months, code review that raises the standard of your existing team, hiring loops, and vendor selection. A weekly cadence, with every decision written down and attributable.

Typically includes

  • Architecture and build-versus-buy decisions, documented
  • Roadmap sequencing matched to what your team can deliver
  • Code review and engineering standards your team keeps
  • Technical hiring: scorecards, interview loops, screens
  • The technical narrative for your board and investors

Assessment and due diligence

An independent read on a codebase before you invest in it, acquire it, or commit another year of roadmap to it.

A fixed-scope engagement that ends in a written assessment and a working branch: what is actually wrong, what it will cost to put right, and the first remediations already merged so you can judge the estimate against real work rather than a spreadsheet.

Typically includes

  • Codebase, security and performance assessment with a prioritised register
  • Technical due diligence for acquisition or investment
  • Remediation plan with estimates, and the first fixes merged
  • Delivery review for a programme that has stalled

How we work

Small commitments, in the right order.

  1. Step 1

    Scoping call

    Thirty minutes. You describe the problem; we tell you whether we are the right firm for it and what it is likely to cost. If we are not, we say so.

  2. Step 2

    Written proposal

    Before any invoice: the shape of the work, its sequence, what we require from you, and a fixed price for the first increment.

  3. Step 3

    Delivery in increments

    Two-week increments against your production environment, each ending in a demonstration. You may stop after any increment and retain everything delivered.

  4. Step 4

    Handover

    Documentation, runbooks and a working pipeline are part of the deliverable rather than an extra. Many clients continue on retainer; none are obliged to.

Not certain which of these you need?

Describe the problem in a paragraph. We will tell you what it actually is.