Portfolio & Case Studies
Real Projects, Measured Outcomes, and AI Automations That Work
A selection of case studies across manufacturing, healthcare, legal, SaaS and AgriTech — plus the AI automations we repeatedly ship for product, delivery, customer and operations teams. Some clients prefer to stay anonymous; those are clearly labelled.
Selected Case Studies
Five recent engagements with measurable outcomes. Client names withheld where requested.
Smart Factory OEE Dashboard for a West Midlands Manufacturer
Real-time production visibility for a multi-line manufacturing site, replacing paper logs and delayed spreadsheets with a live OEE dashboard and predictive maintenance alerts.
The Challenge
A Black Country manufacturer was losing an estimated two hours per shift to untracked downtime across five production lines. Legacy PLCs (mixed Siemens and Allen-Bradley) emitted data but nobody read it in real time. Root-cause analysis relied on hand-written incident logs compiled the following day.
Our Solution
We delivered a tablet-friendly Next.js shop-floor app and a .NET backend that ingests PLC data via Azure IoT Hub and an on-prem gateway. Engineering and operations leads see live OEE, downtime reasons, and an AI-generated daily summary (OpenAI) that clusters downtime events into themes. A predictive-maintenance module flags bearings and motors whose vibration patterns drift outside their baseline.
Outcomes
-38% in first 90 days
Unplanned downtime
From 90 min to 5 min
Daily reporting effort
5 lines, real time
OEE visibility
Match-funded 50%
Made Smarter funding
Engagement
14-week delivery · smart-factory MVP followed by 6-month retainer
Services
- Web Application Development
- API & Backend Development
- AI Integration
Stack
- Next.js
- TypeScript
- .NET 8
- PostgreSQL
- Azure IoT Hub
- Siemens S7
- OpenAI
- Azure App Service
Patient Self-Service Portal for a Private Healthcare Group
GDPR and NHS-aligned patient portal with appointment booking, test-result delivery and a triage chatbot, built on React, .NET and Azure for a private healthcare group operating across the Midlands.
The Challenge
The group was running three separate booking systems across its clinics and fielding 300+ phone calls per day for appointments and test-result queries. Patients asked for online access; clinicians worried about compliance, identity, and out-of-hours clinical safety.
Our Solution
We delivered a unified patient portal secured with Azure AD B2C (NHS-style two-factor), integrated with clinic systems via HL7 FHIR, and shipped an Azure OpenAI-backed triage assistant configured with strict clinical-safety guardrails (no diagnosis, always routes urgent symptoms to 111/999). A product discovery phase with Liam Moses led the scope and clinical sign-off. The portal runs inside the UK Azure region with DPIA and penetration test reports on file.
Outcomes
-42% in 4 months
Inbound calls
-19% after reminders
Appointment no-shows
+27 points
Patient satisfaction (NPS)
GDPR, DPIA, pen-tested
Compliance
Engagement
6-month phased delivery · ongoing support retainer
Services
- Web Application Development
- API & Backend Development
- AI Integration
- Product Management
Stack
- React
- Next.js
- .NET 8
- SQL Server
- Azure AD B2C
- Azure OpenAI
- HL7 FHIR
AI Operations Automation for a Growing SaaS SME
AI automations across support triage, release notes and weekly executive reporting, freeing 1.5 FTE of operational effort at a fast-growing Birmingham SaaS company.
The Challenge
A 28-person SaaS SME was drowning in operational overhead: the head of product spent Monday mornings writing exec reports, the support lead wrote release notes from raw PRs, and customer feedback from Intercom, Zendesk and app-store reviews went unread for weeks.
Our Solution
We shipped four AI automations: (1) a Monday executive summary bot that reads Linear, GitHub and Mixpanel and writes the weekly update in the company tone of voice, (2) a release-note generator that turns merged PRs into customer-friendly changelogs, (3) a feedback-clustering pipeline that groups 500+ tickets and reviews per week into themes with suggested actions, and (4) a slip-risk classifier that flags sprint stories likely to miss. All automations are observable — every prompt/response is logged and reviewable in a private dashboard.
Outcomes
~1.5 FTE / week
Operational effort saved
Mondays, 9am, auto
Exec report delivery
Down from 3 weeks to 2 days
Feedback response time
From 61% to 89% say-do
Sprint predictability
Engagement
8-week build · continuous improvement retainer
Services
- AI Integration
- Product Management
- Delivery Management
Stack
- Claude API
- OpenAI
- LangChain
- Node.js
- PostgreSQL
- Linear API
- GitHub API
- Slack
Private RAG Knowledge Base for a UK Legal Firm
Secure, on-tenant Retrieval-Augmented Generation over 40,000 matter documents, letting fee earners ask precedent questions and get cited answers in under two seconds.
The Challenge
A mid-sized UK law firm wanted generative-AI productivity for its fee earners but could not send matter data to public AI services. Their iManage document store contained 40,000+ client-confidential documents with strict matter-level access controls.
Our Solution
We deployed a fully private RAG system inside the firm's own Azure UK-South tenant. Documents are ingested from iManage with access-control metadata preserved end to end; embeddings are computed locally and stored in pgvector. Answers come from Claude 3 Sonnet on Amazon Bedrock (EU region, zero-retention). Every answer is cited, and fee earners only see content they already have permission to view.
Outcomes
From 25 min to 90 sec
Precedent search time
UK only, never leaves tenant
Data residency
68% weekly active users
Fee-earner adoption
Passed firm InfoSec + client audits
Security review
Engagement
10-week build · security accreditation support
Services
- Private RAG Systems
- AI Integration
- API & Backend Development
Stack
- Claude 3 Sonnet (Bedrock)
- pgvector
- PostgreSQL
- Node.js
- .NET 8
- Azure (UK South)
- Entra ID
Livestock Traceability App for a Mid Wales Cooperative
Offline-first mobile app for livestock movements and traceability across 140 Mid Wales farms, supporting both English and Welsh (Cymraeg) and syncing when connectivity is available.
The Challenge
A Mid Wales agricultural cooperative representing 140 family farms needed a livestock movement and traceability app that worked in areas with limited connectivity, supported Welsh language, and integrated with UK food-traceability requirements.
Our Solution
We built an offline-first React Native app using WatermelonDB for local persistence with a deterministic sync layer. Tagging, movements, medication records and mortality reports all work fully offline and sync when a signal returns. The app ships in English and Cymraeg, with data export in the format required by UK cattle/sheep movement services. Backed by a .NET API in AWS London.
Outcomes
140 / 140 in 8 weeks
Farms onboarded
Eliminated
Paper movement forms
Field-tested, rural Powys
Works offline
UK food-traceability aligned
Compliance
Engagement
5-month delivery · annual support contract
Services
- Mobile App Development
- API & Backend Development
- Product Management
Stack
- React Native
- Expo
- WatermelonDB
- .NET 8
- PostgreSQL
- AWS (London)
- i18n (en-GB, cy)
AI Automations We Ship Repeatedly
A curated catalogue of automations we deploy across product, delivery, customer, operations and engineering teams. All observable, all human-reviewable, all live in production somewhere.
Customer Feedback Clusterer
Turns hundreds of support tickets, NPS comments and App Store reviews per week into 5-10 prioritised themes with severity scores and suggested actions.
Problem
Customer feedback piles up unread across Zendesk, Intercom, App Store, Play Store, sales calls and feature-request boards. Critical signal is drowned in volume.
How it works
1.
Connectors pull feedback hourly from Zendesk, Intercom, App Store, Play Store and Typeform
2.
An embedding model clusters semantically similar items
3.
Claude summarises each cluster with severity, sentiment and suggested product action
4.
A weekly digest is delivered to product leadership via Slack and email
Stack
- Claude Sonnet
- OpenAI embeddings
- Node.js
- PostgreSQL + pgvector
- Slack API
Typical impact
Reclaims 6-10 hours per week for a product team of 3-5 and reduces feedback-to-action time from weeks to days.
Release Notes Generator
Turns the merged PRs of a sprint into a clean, customer-facing changelog in your brand voice, with sections for features, fixes and breaking changes.
Problem
Release notes are written in a rush on release day, miss context, and drift in tone between authors.
How it works
1.
Reads merged PR titles, descriptions and linked Linear/Jira tickets
2.
Filters internal-only changes using labels or path rules
3.
Claude drafts user-facing copy in the team's configured tone of voice
4.
Humans approve or edit the draft; final copy publishes to your changelog and in-app
Stack
- Claude Sonnet
- GitHub API
- Linear / Jira API
- Node.js
Typical impact
Saves 2-4 hours per release and produces more consistent, customer-useful changelogs.
Sprint Slip-Risk Classifier
Reads live sprint data and flags stories at high risk of missing the sprint so the team can rebalance before stand-up.
Problem
Teams realise too late that a sprint will miss. Daily stand-ups surface the news rather than prevent it.
How it works
1.
Polls Linear or Jira for in-flight stories, sub-task progress and PR state
2.
Uses historical cycle-time and blocker patterns to score slip risk
3.
Posts a short, exception-only summary into the team Slack channel
4.
Drives an explicit "rebalance, de-scope or escalate" decision at stand-up
Stack
- OpenAI GPT
- Linear / Jira API
- GitHub API
- Slack API
Typical impact
Teams we deployed this for moved from ~60% sprint say-do to 85-90% within two sprints.
Weekly Executive Summary Bot
Generates the Monday executive delivery and product update automatically, with narrative and charts, ready for a CEO or head of product to forward.
Problem
Senior people spend 60-90 minutes every Monday writing the same status email.
How it works
1.
Pulls last-week metrics from Mixpanel, Linear, GitHub and your revenue source
2.
Claude assembles a narrative: wins, risks, metric deltas, asks
3.
Rendered as a Notion page and an HTML email, ready to send
4.
A human review step prevents anything surprising from going out cold
Stack
- Claude Sonnet
- Mixpanel
- Linear API
- GitHub API
- Notion API
Typical impact
Gives 60-90 minutes back to a senior PM or CEO every week and raises report quality.
Inbound Email & Ticket Triage
Classifies, routes and drafts first-response replies for inbound email and tickets, with full audit logs and human approval on anything sensitive.
Problem
Every new inbound enquiry is triaged by hand. Response times creep up; the inbox becomes a bottleneck.
How it works
1.
New messages are classified into topics and urgency using an LLM
2.
A draft first-response is generated, using your knowledge base for grounding (RAG)
3.
Low-risk replies go straight to a review queue; high-risk items wait for a human
4.
Every decision is logged for audit and continuous improvement
Stack
- Claude Sonnet
- OpenAI embeddings
- pgvector
- Microsoft Graph
- Zendesk / Intercom
Typical impact
Median first-response time drops from hours to under 10 minutes without losing quality.
Invoice & Document Extraction
Reads PDFs, scanned invoices, purchase orders and contracts and returns strictly-typed structured data — ready to post into your ERP or accounting system.
Problem
AP and operations staff spend hours re-keying supplier invoices and PO details.
How it works
1.
Files arrive via email, upload or SFTP
2.
A vision + text LLM extracts fields using a strict JSON schema
3.
Confidence thresholds route exceptions to a human reviewer
4.
Clean data posts into Xero, QuickBooks, Sage, Dynamics or Business Central
Stack
- GPT-4o / Claude Sonnet
- Azure Document Intelligence
- Node.js
- .NET 8
Typical impact
Typically reduces invoice-processing time by 60-80% with fewer posting errors.
Internal Onboarding Assistant
A private chat assistant, grounded on your handbook, policies and runbooks, that answers new-joiner questions with citations.
Problem
New joiners ask the same questions for weeks. Answers live scattered across Notion, Confluence, SharePoint and Slack threads.
How it works
1.
Ingests your handbook, policies, runbooks and Slack threads with permission awareness
2.
Answers are generated via RAG with explicit citations to the source documents
3.
Every answer is logged; unanswered questions surface content gaps
Stack
- Claude Sonnet
- pgvector
- Notion / Confluence / SharePoint / Slack
- Node.js
Typical impact
Reduces new-joiner ramp-up time by 1-2 weeks and cuts internal "who knows about X?" pings.
AI Code Review Assistant
Automated first-pass review on every pull request — style, bugs, security smells, test coverage — with your house rules baked in.
Problem
PRs wait hours or days for a human first review. Style feedback is repetitive and demotivating.
How it works
1.
Triggers on every PR opened to main and configured branches
2.
Runs static analysis and feeds the diff plus project rules to an LLM
3.
Posts inline comments for suggested changes; humans still approve to merge
4.
Learns from which suggestions are accepted vs dismissed
Stack
- Claude Sonnet
- GitHub API
- ESLint / Semgrep / Ruff
- Node.js
Typical impact
Cuts human review effort by 30-50% on routine changes and reduces style back-and-forth.
Ready to Build Something Amazing?
Let's discuss your project and see how we can help bring your ideas to life. Get a free consultation with no obligations.