Case studies

Non-confidential examples showing how delivery played out in practice (problem → action → outcome).

Case studies hero image

Case studies

  • Style: Kept deliberately brief and non-confidential. Where needed, details are expressed at an appropriate level.
  • Focus: What was needed, what was done, and what improved (performance, reliability, security, time-to-deliver).
  • Cross-links: See Services for capability areas and Achievements for summary highlights.

Cabinet Office — Generative AI document understanding

Problem: Need to query and summarise large communications datasets safely in a regulated setting.
Action: Built an async FastAPI backend integrating OpenAI models with RAG (LangChain + ChromaDB + Redis), added prompt-injection controls and structured testing.
Outcome: Faster discovery and summarisation workflows with stronger safety controls and a production-ready delivery approach.

RAGFastAPISecurity-aware AI

MHCLG — National housing data platform performance

Problem: ETL pipeline runtime exceeded operational tolerance (10+ hours), limiting iteration and insight.
Action: Profiled the pipeline end-to-end, introduced parallelisation and restructured bottlenecks; demonstrated improved concurrency by migrating from SQLite to PostgreSQL.
Outcome: Reduced run time from 10+ hours to under 5 hours with clear, non-disruptive changes.

ETLPythonPostgreSQL

Met Office — HPC workflow automation & model evaluation

Problem: Scientific workflows required reproducibility, automation, and faster iteration across HPC environments.
Action: Built Python tooling for automated job submission/monitoring (schedulers, async APIs), and improved workflow orchestration for model evaluation; introduced containerised execution for portability.
Outcome: More reproducible runs, faster feedback loops, and improved operational reliability for researchers.

HPCAutomationScientific workflows

Department for Business & Trade — System migration & integration

Problem: Required migration and integration between ticketing platforms with minimal disruption and strong auditability.
Action: Built Django REST APIs, implemented robust error handling, authentication and logging, containerised services, and supported CI/CD with automated testing.
Outcome: Successful migration with an engineering approach aligned to regulated delivery expectations.

DjangoIntegrationCI/CD

HSBC — Model execution platform & migration support

Problem: Large portfolio of legacy models required migration and operationalisation within a new execution platform.
Action: Supported platform microservices and developed a migration framework; worked with modellers to onboard large numbers of forecasting models and provided structured support processes.
Outcome: Improved throughput of model onboarding and strengthened operational support for a critical platform.

Platform engineeringMicroservicesRegulated finance

Deutsche Bank — Cryptography libraries for secure operations

Problem: Multiple operational and engineering teams required a consistent, policy-aligned approach to secure handling of passwords and sensitive strings across heterogeneous systems.
Action: Designed and delivered encryption/decryption libraries as a Java JAR module and a native C shared library, with language bindings (Perl XS module and JNI integration) to support different runtime environments; aligned implementation with security constraints and practical operational usage.
Outcome: A reusable, multi-language cryptography capability that standardised secure handling patterns and reduced bespoke re-implementation risk across teams.

CryptographyControlsMulti-language

Morgan Stanley — Microservices for database operations at scale

Problem: Operational burden managing large estates of legacy databases across environments.
Action: Architected and built RESTful microservices frameworks to enable self-service provisioning and maintenance; introduced monitoring and remediation automation with audit-friendly workflows.
Outcome: Reduced manual operational load and improved reliability for a large database estate.

MicroservicesAutomationScale

FLOWGRID — EU-funded distributed computing for CFD (consortium)

Problem: CFD applications required scalable execution across distributed compute resources.
Action: Initiated and led a consortium proposal and delivery plan for a grid-based architecture; provided technical architecture and project management across partners and academic collaborators.
Outcome: Consortium awarded €1.1m in funding; delivery progressed under programme governance suitable for multi-partner execution.

EU programmeDistributed computingCFD

Startups — Platform engineering under delivery constraints

Problem: Early-stage teams needed reliable systems without over-engineering and with rapid iteration.
Action: Delivered practical architecture, implementation, and operational hardening for data-driven services, balancing speed with maintainability and clear technical decision-making.
Outcome: Stronger platform reliability and clearer delivery path from prototype to operational use.

StartupsArchitecturePragmatic delivery