Architecture and engineering decisions
How we build
20 projects across three areas, described without identifying the client.
Why there are no screenshots
Our work is almost entirely under NDA. Those agreements stop us naming clients, linking to live systems, and publishing anything that identifies the work or the organisation — and they mean you will not find screenshots here.
So this page is not a portfolio. It is the part of the job that is actually ours to show: how we reason about a problem, which options we rejected, and where each approach falls over. Where a studio can name its clients, they do — and the absence here is a consequence of who we work with, not of what we have done.
How to read these
Every project is labelled either 'we led this' or 'we contributed'. Where we contributed, we say which part of the system we built and who we built it alongside. Almost every studio has been on something large; the useful question is which engagements you were accountable for, and we would rather you did not have to guess.
- 11We led this
- 9We contributed
Everything below
Twenty projects, grouped by problem shape
Each one describes what the system did, what it was built on, and what changed. No client is named, because the agreements we work under do not allow it — the disclosure above explains why, and the walkthrough at the foot of the page is the substitute.
Diagrams, grey-box wireframes and measured data only. We do not use stand-in imagery for work we cannot show.
AI & automation
AI, Automation & Machine Learning
Applying models to a specific, bounded task and proving it works on the client's own data. Grounding, evaluation, cost control and a human in the loop — not research, and not a chat widget bolted to a homepage.
Where this fits
Document processing, retrieval over a client's own corpus, structured extraction from unstructured input, internal workflow automation, evaluation harnesses.
Where it breaks down
When the task is rare, the volume is low, or the cost of a wrong answer is high enough that a rule or a person is the better answer. We will say so, and that is a large part of what the first two weeks are for.
Representative UI
We led thisAutomated construction tender intake and bid costing
A B2B platform that ingests municipal and private construction tender documents daily, extracts the architectural and specification requirements, and produces a costed bid the team can review rather than assemble.
Key features
- OCR extraction across scanned drawings and inconsistent PDF formats
- Multi-lingual contract and specification parsing
- Custom estimation algorithms driven by the client's rate card
- Automated risk scoring on contract terms
- Interactive cost breakdown dashboards
Stack
- Python
- FastAPI
- PyTorch
- LangChain
- PostgreSQL
- AWS Textract
- React
- Docker
Business impact
Bid preparation went from roughly fourteen days of manual document review to about four hours. The team could then respond to far more tenders in the same period.
Representative UI
We led thisEnterprise knowledge graph and document copilot
A private retrieval-augmented generation platform that turns internal PDFs, legacy spreadsheets and email into a searchable, permission-aware knowledge base. Nothing leaves the client's infrastructure.
Key features
- Vector semantic search across a mixed document corpus
- Enterprise-grade role-based access control applied per document
- Multi-document summarisation with source attribution
- Custom API connectors for SharePoint and Google Workspace
Stack
- Python
- Qdrant
- LlamaIndex
- Node.js
- Next.js
- Llama 3
Business impact
Legal and compliance teams cut the time spent searching internal sources by about two-thirds, with every answer traceable back to the document it came from.
Representative UI
We contributedEdge-based industrial defect and safety monitoring
Real-time computer vision running on the factory floor rather than in the cloud, detecting manufacturing defects and monitoring personal protective equipment compliance across production lines.
Key features
- Sub-10ms inference on the video stream, on-device
- PPE violation alerting with photographic evidence
- Anomaly detection on assembly line behaviour
- Automated equipment shutdown triggers
Stack
- C++
- OpenCV
- YOLOv8
- NVIDIA TensorRT
- MQTT
- WebSockets
- React
Our part
We built the vision pipeline and the alerting and dashboard layer, and worked alongside the client's own controls and manufacturing engineering teams on the shutdown integration.
Outcome for the client
Defect leakage into finished goods fell by roughly 92%, and PPE violations that had been going unreported were being caught in real time across four facilities.
Representative UI
We led thisInventory demand forecasting and dynamic pricing
A predictive engine for retail and e-commerce brands that forecasts seasonal demand and adjusts pricing against market signals, feeding both the merchandising and the pricing decision rather than sitting in a report.
Key features
- Multi-variate time-series forecasting
- Competitor price monitoring
- Automated stock reordering triggers
- Gross margin optimisation under forecast uncertainty
Stack
- Python
- XGBoost
- Prophet
- Apache Spark
- Snowflake
- Go
- Vue.js
Business impact
Excess inventory carrying costs fell by about 28% while net margin improved by around 12% — the first from buying closer to actual demand, the second from repricing the stock that remained.
Representative UI
We contributedReal-time transaction fraud and abuse detection
A high-throughput scoring pipeline running inline on payment transactions, covering both card fraud and synthetic identity abuse — the second being the pattern that pure per-transaction scoring misses.
Key features
- Graph-based detection of colluding accounts
- Real-time risk scoring inline with authorisation
- Step-up authentication routing by risk band
- Chargeback prediction for dispute prioritisation
Stack
- Scala
- Apache Flink
- Kafka
- Neo4j
- Scikit-learn
- Redis
- Go
- Angular
Our part
We built the real-time scoring service and the step-up authentication routing, inside a wider fraud platform staffed by the client's own risk and data science teams.
Outcome for the client
Approximately $4.2M in fraudulent chargebacks prevented in the first six months of deployment.
Representative UI
We contributedClinical note automation from consultation audio
An ambient documentation platform that transcribes doctor-patient consultations into structured, clinically formatted notes for review and sign-off. Built to support a HIPAA-regulated deployment rather than to make clinical decisions.
Key features
- Ambient voice transcription in clinical settings
- Medical entity extraction and ICD-10 coding suggestions
- SOAP note generation as a starting draft
- Automated discharge instruction drafting
- Clinician review and sign-off before anything enters the record
Stack
- Python
- Whisper
- AWS HealthLake
- GraphQL
- React Native
Our part
We built the transcription and note-drafting service and the clinician review workflow, working with the client's clinical safety and compliance teams and their EHR vendor.
Outcome for the client
Physicians reported saving around two hours a day on documentation. Notes are drafted for review rather than written from scratch — nothing reaches the patient record without a clinician signing it.
Representative UI
We led thisSemantic candidate and skill-gap matching
A sourcing platform that parses CVs and technical profiles into a comparable skill representation, then matches them against role requirements so shortlisting is a structured comparison rather than a keyword filter.
Key features
- Semantic CV and profile parsing
- Automated skill match matrix per role
- Transparent scoring with the reasoning shown to the recruiter
- Interview scheduling integration
Stack
- Python
- spaCy
- MongoDB
- Elasticsearch
- Node.js
- Tailwind CSS
Business impact
Time-to-hire for senior engineering roles fell from around 45 days to 12, with shortlists generated against an explicit requirements matrix rather than a keyword filter.
SaaS & B2B
SaaS & B2B Platforms
Multi-tenant systems where correctness, auditability and the ability to change things six months later matter more than shipping fast. Built so the next engineer can read it.
Where this fits
Subscription and usage billing, role and permission models, tenant isolation, audit trails, admin surfaces, integrations with systems that will not change.
Where it breaks down
When the product is a prototype that needs to prove demand rather than serve customers. Over-engineering a throwaway is a real cost, and we would rather say a prototype is the right call.
Representative UI
We led thisIoT fleet logistics and telematics SaaS
An enterprise management portal connecting heavy vehicle IoT sensors to track route efficiency, fuel consumption and driver behaviour in near real time across a commercial fleet.
Key features
- Live GPS vehicle tracking
- Geofencing and route deviation alerts
- Predictive maintenance alerting
- Automated route re-planning
- Fuel consumption and waste analytics
Stack
- Node.js
- Go
- RabbitMQ
- PostgreSQL
- TimescaleDB
- React
Business impact
Fuel consumption fell by about 18% across a fleet of 1,200 active commercial vehicles.
Representative UI
We contributedMulti-channel inventory and order synchronisation
A multi-tenant platform connecting enterprise ERP systems to online marketplaces, so stock is a single source of truth across every storefront rather than a per-channel guess.
Key features
- Unified order routing across channels
- Multi-warehouse stock allocation
- Dynamic currency and pricing conversion
- Bulk product catalogue syndication
Stack
- Java
- Spring Boot
- Kafka
- PostgreSQL
- Redis
- Vue 3
- AWS EKS
Our part
We built the order routing, warehouse allocation and catalogue syndication services, and the ERP and marketplace connectors, as one of two agencies on the build alongside the client's systems integrator.
Outcome for the client
Overselling was effectively eliminated across more than 50 storefronts through peak trading, where the previous stack oversold regularly.
Representative UI
We contributedEnterprise learning platform with remote exam proctoring
A scalable learning management platform for corporate upskilling and university degree programmes, with remote exam proctoring built in rather than bolted on as a separate tool.
Key features
- Interactive course builder
- Automated video subtitle generation
- Face and gaze detection during proctored exams
- SCORM and xAPI compliance
Stack
- Ruby on Rails
- Node.js
- WebRTC
- React
- PostgreSQL
- AWS CloudFront
Our part
We built the proctoring service, the WebRTC media layer and the realtime assessment handling, with the university platform itself delivered by the client's incumbent learning vendor.
Outcome for the client
Supported over 150,000 concurrent students during university examination periods, at 99.99% availability across those peaks.
Representative UI
We contributedCommercial property and lease asset management
A SaaS platform for property managers covering leases, maintenance dispatch, tenant self-service and financial reconciliation across a commercial portfolio.
Key features
- Automated rent collection with bank account linking
- Vendor maintenance dispatching
- Digital lease signatures
- Cash flow forecasting
Stack
- C#
- .NET Core
- React
- SQL Server
- Azure Functions
Our part
We built the maintenance dispatch, lease signature and cash flow forecasting modules, and integrated rent collection with the client's existing finance and property systems.
Outcome for the client
Supporting a portfolio worth over $500M, with administrative overhead reduced by around 40% as reconciliation and maintenance moved off spreadsheets.
Representative UI
We led thisContinuous compliance and audit evidence collection
A RegTech platform that continuously collects evidence from infrastructure configuration against SOC 2, ISO 27001 and GDPR controls, rather than reconstructing it manually in the weeks before an audit.
Key features
- Automated evidence collection from live infrastructure
- Cloud configuration vulnerability scanning
- Vendor risk assessment workflows
- One-click audit reporting
Stack
- Python
- Go
- React
- PostgreSQL
- AWS Security Hub
- OpenOPA
Business impact
Audit preparation for enterprise clients went from about three months of evidence-gathering to roughly five days of review work.
Representative UI
We led thisUsage-based billing and revenue recovery
A billing platform for mid-market SaaS companies handling metered pricing, localised tax and churn analysis — including the unglamorous work of recovering failed payments, which is usually where most of the leakage sits.
Key features
- Metered usage tracking and rating
- Automated dunning for failed recurring payments
- Multi-currency invoicing
- Revenue recognition reporting
Stack
- Node.js
- TypeScript
- PostgreSQL
- Redis
- React
- Stripe
- Docker
Business impact
Automated dunning recovered more than 35% of failed recurring card payments that would previously have been written off.
Representative UI
We led thisUnified omnichannel support workspace
A single workspace for live chat, email and phone, with queue prioritisation driven by what the customer is actually doing rather than first-come-first-served.
Key features
- Auto-assignment by agent skill matrix
- SLA breach countdowns
- Customer sentiment analysis for queue priority
- Internal macro automation
Stack
- Elixir
- Phoenix LiveView
- PostgreSQL
- Redis
- Elasticsearch
- WebSockets
Business impact
First-response SLA compliance rose from 72% to 98% within 30 days, by routing angry customers to experienced agents rather than by arrival order.
Mobile
Cross-Platform & Native Mobile Applications
iOS and Android from one codebase where the platform difference does not matter, and native where it does. We pick per project rather than defaulting to either.
Where this fits
Field service, customer-facing apps with real offline requirements, apps that need background location or Bluetooth, internal tools replacing paper processes.
Where it breaks down
When you need deep platform integration, background behaviour, or a store presence that justifies two codebases. Sometimes native is genuinely cheaper to own, and we will tell you when.
Representative UI
We contributedMobile wallet with virtual cards and tap-to-pay
A consumer mobile banking application covering virtual cards, peer-to-peer payments, bill splitting and savings rules, built as the client-facing surface over their existing regulated infrastructure.
Key features
- Biometric authentication
- NFC tap-to-pay
- Real-time push notifications
- Split-bill QR generation
- Automated savings rules
Stack
- Flutter
- Dart
- Go
- Kotlin
- Swift
- Plaid
- AWS KMS
Our part
We built the customer-facing application - virtual card controls, payments, bill splitting and savings rules - as the front end over the client's own issued cards and banking licence.
Outcome for the client
Reached 250,000 active users in the first year, with a 4.8 average across both app stores.
Representative UI
We led thisOn-device pose estimation fitness coaching
A fitness application that analyses exercise form from the device camera and gives spoken feedback during the set, with inference running on the phone rather than streaming video to a server.
Key features
- Pose estimation on-device via CoreML and TensorFlow Lite
- Wearable sync with Apple HealthKit and Google Fit
- Custom meal plans
- Social leaderboards
Stack
- React Native
- TensorFlow Lite
- Swift
- Kotlin
- Firebase
- Node.js
Business impact
Achieved a 45% 30-day retention rate, with pose inference running entirely on-device so workout video never left the phone.
Representative UI
We contributedTelehealth video consultations and digital prescribing
A direct-to-patient application covering video consultations, electronic prescription delivery and local lab test booking, built to hold a usable connection on the mobile networks patients actually have.
Key features
- Encrypted HD video calling over WebRTC
- Digital pharmacy integration
- Appointment calendar sync
- Patient health record access
Stack
- Swift
- Kotlin
- WebRTC
- Node.js
- Twilio
- PostgreSQL
Our part
We built the consultation, prescribing and booking experience, including the low-bandwidth WebRTC media layer, alongside the client's clinical and pharmacy partners.
Outcome for the client
Handled over 100,000 virtual consultations, at 99.8% streaming reliability including on low-bandwidth connections.
Representative UI
We led thisOffline-first logistics and electronic proof of delivery
An enterprise application for delivery drivers that keeps working without cellular coverage — which meant solving sync conflict properly rather than treating offline as an error state.
Key features
- Offline SQLite store with background sync
- Barcode and QR scanning
- Turn-by-turn navigation
- Photographic proof of delivery
- Battery optimisation for full-shift use
Stack
- Flutter
- SQLite
- WatermelonDB
- Mapbox SDK
- Node.js
Business impact
Saved drivers around 45 minutes per shift by collapsing package scanning and signature capture into one flow that works with no signal.
Representative UI
We led thisShared micromobility unlock and payment
A consumer application for locating, unlocking and paying for electric scooters and bikes, where the unlock path is a Bluetooth handshake that has to complete before the vehicle is rideable.
Key features
- Bluetooth Low Energy vehicle unlock
- Real-time map with battery levels
- Geofenced parking zones
- Automated ride pricing
Stack
- React Native
- Mapbox
- FastAPI
- Redis
Business impact
Held vehicle unlock latency under two seconds across roughly 10,000 active daily scooter rentals.
Representative UI
We contributedLow-latency mobile trading suite
An institutional mobile trading application with live market depth feeds, custom indicators and order placement, built around a native core where the platform difference genuinely mattered.
Key features
- High-frequency WebSocket market data streams
- Custom technical indicators
- Instant order placement
- Push price alerts
Stack
- Swift
- Kotlin
- C++
- WebSockets
- Redis
- Rust
Our part
We built the mobile order entry, charting and indicator layer, and the market data services, against the client's existing execution and clearing infrastructure.
Outcome for the client
Handled over $50M in daily transaction volume at sub-50ms execution speeds, with a native core and Rust services behind the mobile front end.
The alternative
What we can show you on a call
A public page cannot show you a running system, and a screenshot cannot show you how it behaves under load. On a call we can walk you through a comparable system, answer questions about the decisions in it, and tell you honestly whether it is comparable to your problem or merely adjacent to it.
How we evaluate a fit
- 1You describe the problem, not the solution you want.
- 2We tell you which of these three areas it is, and which it is not.
- 3We say if we have done something comparable, and how comparable.
- 4We quote per project. If the honest answer is that you do not need us, you get that on the first call.
What we do
Services built on these patterns
- Web developmentMarketing sites, web apps and internal tools built to load fast, rank well and stay easy to chan…Learn more
- Mobile appsNative and cross-platform apps for iOS and Android, built once and shipped to both stores.…Learn more
- E-commerceStorefronts, checkouts and payment integrations designed to convert and easy to run day to day.…Learn more
- CloudInfrastructure, migrations and cost control on AWS, Azure and GCP — sized for your traffic, not …Learn more
- APIs & integrationsREST and GraphQL APIs, webhooks and third-party integrations that hold up when the systems aroun…Learn more
- CybersecuritySecurity audits, hardening and compliance preparation for UK and international businesses — prac…Learn more
- AI & automationLLM chatbots, document processing and workflow automation that save real hours — grounded in you…Learn more
- Bug fixesBring us the project your last agency abandoned. Contained fixes from £1,000, diagnosed properly…Learn more
