Innovation Lab
Where we take on problems
without a known answer
Time-boxed spikes against real client constraints rather than a demo shelf. Everything here either graduates into a service line or gets written up as a reason not to.
Capabilities
What this covers
Engineering
Blockchain Solutions
Permissioned ledgers, tokenised assets and independently audited smart contracts.
Engineering
IoT Development
Firmware, connectivity and telemetry pipelines for devices you cannot easily reach.
AI & Data
Generative AI
Generative systems with measured output quality and a bill you can predict.
AI & Data
Machine Learning
Forecasting, ranking and detection models that keep working after the data shifts.
Engineering
MVP Development
One question answered in twelve weeks, in code you will not be forced to throw away.
Engineering
Startup Product Development
The eighteen months after launch, when scale, hiring and enterprise buyers all arrive.
How we work
The delivery model
Discovery and technical due diligence
2–3 weeksTwo engineers and a delivery lead go into your codebase, database and incident history. We read the schema, run a dependency and CVE inventory, sit with the people who actually use the system, and measure what is slow rather than accept what is reported as slow. Output is a written architecture assessment, a risk register with named owners, and a costed delivery sequence carrying a stated ±25% confidence band. Fixed fee, and the documents are yours whether or not the engagement continues.
Architecture and delivery plan
1–2 weeksWe record the decisions as architecture decision records: service boundaries, data ownership, sync versus event-driven integration, the consistency model, and what we deliberately are not building. Non-functional targets get numbers — p95 latency, concurrent users, recovery point and recovery time objectives, retention windows. You approve the plan, the team roster by name, and the definition of done before any production code is written.
Foundation sprint and first production deploy
3 weeksInfrastructure as Terraform in your cloud account, repositories in your GitHub organisation, CI with unit tests, SAST and container scanning, and Argo CD promotion into staging and production. Before feature work starts we put a thin but real slice of the system into production behind a feature flag, with dashboards, alerts and an on-call runbook attached. That deployment happens in week three and is the point at which the pipeline stops being a promise.
Iterative build
8–20 weeksTwo-week sprints, trunk-based development, deployment to production on merge behind flags. Each sprint ends with a working increment on your infrastructure, not a demo environment. You get a burn-up against the agreed scope, the DORA four metrics for the team, and an explicit list of what moved out of scope and why. The first release to real users typically lands between weeks 10 and 16, depending on integration surface.
Hardening, performance and security testing
3–4 weeksLoad testing to twice the agreed peak, with results published as latency percentiles rather than averages. Failure injection on the dependencies that matter — database failover, broker partition, third-party timeout. A third-party penetration test against the release candidate, with every high and critical finding closed before cutover and mediums scheduled with dates. Backup restore is rehearsed in full, timed, and written into the runbook.
Cutover, hypercare and handover
4–6 weeks, then ongoingMigration runs as a rehearsed sequence with a rollback path measured in minutes, usually strangler-fig routing so the legacy system stays live and reversible. Four weeks of hypercare with our engineers on your on-call rota, then a structured handover: runbooks, architecture diagrams that match the deployed system, recorded walkthroughs and paired shifts with your team. Where you keep us on, the same named engineers move to a run-and-evolve cadence.
Reading
Related writing
10 min read
The lock queue is the deploy risk: online schema change on Postgres
At Kestrel Industrial a two-second ALTER TABLE took the shop-floor API down for six minutes. The cause was head-of-line blocking in the Postgres lock queue. Expand-contract, lock_timeout, and how to make backfills boring.
10 min read
How enterprise software actually gets bought
Between six and eleven people can say no and none of them can say yes alone. Understanding the security review, the pilot and the internal memo is worth more to a delivery plan than any feature comparison.
11 min read
Idempotency keys do not make retries safe
A duplicate payout on Meridian Exchange traced back to an idempotency key written in a different transaction from the effect it guarded. The storage model, the concurrency case most implementations miss, and the metric that proves it works.

