Cloud & Data Architect · Microsoft Platform & Full-stack Engineer
I design cloud and data architectures across AWS and Azure, and build the
platforms and web applications that run on them. I turn business
requirements into systems that are resilient, scalable and cost-aware, end to end.
A cloud and data architect with deep Microsoft-stack engineering roots. I design
well-architected solutions across AWS and Azure (compute, data pipelines,
analytics and machine learning), and lead their delivery as production
platforms and .NET web applications.
I hold every solution to the same bar, whatever the platform: operationally
excellent, secure, reliable, performant, cost-optimised and sustainable. Those are
the six pillars of the AWS Well-Architected Framework, and they hold for any
system, not just the cloud.
I'm a Cloud & Data Architect based in Leeds, United Kingdom, with a Microsoft
full-stack engineering background. I hold an MSc in Advanced Computer Science
(Cloud Computing) from the University of Leeds, awarded with Distinction.
I design and deliver cloud and data solutions across AWS and Azure:
well-architected systems spanning compute, storage, data pipelines, analytics and
machine learning. My engineering roots run deep in the Microsoft stack: years close to
.NET, leading microservice modernisations, migrating monoliths to .NET Core, and
shipping ASP.NET APIs and web apps to Kubernetes (AKS). I work end to end, from data
modelling, warehousing and reporting through to the services and interfaces on top.
Today, as an Implementation Lead Architect, I turn requirements into platforms that are
resilient, scalable and cost-aware, partnering with cross-functional teams to ship them.
Skills
Architecture, end to end.
Good architecture is mostly invisible. It's what lets everything else move fast and keep working under load.
From cloud and data architecture to the platforms and web apps on top, I work across
the whole stack. I design systems, then build, ship and run them.
01/02
Architecture
I design well-architected systems on AWS, Azure or anywhere, turning requirements into resilient, scalable and cost-aware solutions.
Data & ML
Data modelling, pipelines and analytics, through to operationalising machine learning from features to production.
Cloud & DevOps
Infrastructure as code, CI/CD and Kubernetes. I ship and run platforms, not just build them.
Full-stack
On the Microsoft stack: .NET APIs, services and the web applications that sit on top.
B.Tech in Computer Science Engineering 2012 – 2016
Employment
8+ years of professional experience across 4 roles
2023 – Present
PebblePad · Senior Software Engineer
Leading AWS cloud solutions and data architecture for data analysis and the reporting behind them.
July 2021 – Aug 2022
Accenture · Senior Product and Platform Engineer
Architected and built microservice-based platforms on Azure, with the data pipelines and stores behind them, and owned their delivery to cloud infrastructure through infrastructure-as-code and CI/CD.
December 2017 – June 2021
Imaginea Technologies (now part of Accenture) · Senior Software Engineer
Modernised legacy monoliths into cloud-hosted microservices on .NET Core, designing APIs, data models and integrations, building analytics and reporting features, and mentoring developers across the team.
February 2017 – November 2017
Cognizant · Programmer Analyst Trainee
Built ASP.NET web forms and MVC applications, and contributed to proof-of-concept work across data access, services and early analytics.
Selected work
Projects, as case studies.
A decade of delivery and research, from architecting Azure platforms to
modernising decade-old monoliths and prototyping with AI. Each card opens
into the context, my contribution and the outcome.
17Projects delivered
4Flagship projects
Architect
Document Generator
Built a centralised document-generation platform on Azure, validating policy data with InRule across products.
Multiple products each needed to generate documents from policy information, with no shared way to validate and verify that data or apply business rules.
What I did
As Solution Architect and Lead Developer I spearheaded a new microservice and stood up the Azure environment with Terraform, wiring the services together and modernising the form-generation and document-processing logic. The platform validates policy information and runs InRule logic centrally so any product can request a document.
Outcome
One centralised service now serves document generation across products, with infrastructure reproducible from code.
Developer
Affinity
Remapped a legacy system into modern APIs and mentored the team through the transition.
C#Web API.NET Core 3.1EF CoreDockerPCFNGINX
Read the case study
Context
A legacy system needed to be exposed to modern front-end applications, with more programs onboarded from various sources into microservice-based endpoints.
What I did
As Senior Developer I designed and built backend APIs in C# and Web API on .NET Core 3.1 (EF Core, SQL Server), containerised with Docker, deployed on Pivotal Cloud Foundry and routed through NGINX. I focused on remapping the legacy system into APIs the front end could consume, and reviewed and mentored junior developers.
Outcome
The legacy system moved to a more modern, scalable architecture with a higher-quality, maintainable codebase.
Lead
Swipe-In
Migrated a monolith to microservices on AKS with dynamic, reflection-driven reporting.
C#ASP.NET MVCGraphQL.NET CoreEF CoreDockerAKS
Read the case study
Context
A monolithic application needed to become a microservice-based system, with flexible reporting users could shape themselves.
What I did
As Lead Developer I oversaw the migration to microservices using C#, ASP.NET MVC, GraphQL Web API, .NET Core, Windows services, EF Core, SQL Server and Docker. We added dynamic reporting that lets users pick metrics in the UI and retrieve data via reflection and EF Core, deployed on Azure and migrated to AKS. I guided the team and contributed to design and architecture decisions.
Outcome
The app runs as containerised microservices on AKS with user-driven reporting.
Managers needed a tool to find employees with specific skills or areas of expertise.
What I did
As team lead and architect I built the Angular front end and set the standards for componentisation and inter-component communication, then led the GraphQL server that exposes the data and the database design that backs it without violating normal forms.
Outcome
A skills-search tool for managers, deployed on Azure with AKS.
Lead
Smart Comm
Stood up a buffer microservice that kept forms and documents flowing correctly across systems.
Document and form generation spanned several systems with no reliable hand-off between them.
What I did
As Lead Developer I set up a new microservice and the Azure environment (C#, Azure Functions, .NET Core 3.1, EF Core, Terraform, SQL Server, API Management), and implemented a buffer-state service that ensures the correct forms and documents are created and fed into the right downstream system.
Outcome
Seamless connectivity across document systems and a streamlined generation process.
Architect
Firstrate
Led the modernisation of a decade-old, 42-project WebForms application into microservices.
A multi-layered application in use for over a decade, spanning 42 projects, needed to be enhanced and split into microservices.
What I did
As Assistant Architect and Team Lead I worked with architects and project managers to design and implement the split into microservices, provided technical guidance, integrated external systems (HelloSign, ImageRight, Braintree) and documented the patterns, components and layers.
Outcome
The application kept meeting business needs while moving toward a maintainable, microservice architecture, backed by a clear specification.
Lead
Inzurezone
Enabled seamless, secure single sign-on transfer between a .NET and a Java platform.
C#ASP.NET MVCWeb APIAngular 6SQL ServerPython
Read the case study
Context
Users had to move from a Microsoft-based solution to a Java-based one without logging in again, and without compromising security.
What I did
As developer and team lead on a microservice-based architecture I implemented secure REST API calls to transfer users between platforms, working across C#, ASP.NET WebForms and MVC, Web API, Angular 6, AngularJS, SQL Server and Python to enhance performance and functionality.
Outcome
Users transfer between applications without re-authenticating, with security and performance preserved.
Developer
Reimbursement
Refactored a reimbursement monolith into microservices with stateful, automated email workflows.
C#ASP.NET MVCGraphQL.NET CoreEF CoreAKSDocker
Read the case study
Context
A legacy monolithic reimbursement system needed migrating to a microservice architecture on a modern stack.
What I did
I refactored the existing code into new microservices (C#, ASP.NET MVC, GraphQL Web API, .NET Core, Windows services, EF Core, SQL Server, AKS, Docker), integrated Google mail for stage-by-stage reminder emails, and used the chain-of-responsibility and state patterns to manage the reimbursement form's state, with reporting across business aspects.
Outcome
A microservice reimbursement workflow with automated notifications and reporting at every stage.
Built the Angular UI skeleton and helped shape the GraphQL backend over a normalised schema.
C#AngularGraphQLSQL Server
Read the case study
Context
A new application needed a front-end UI consuming GraphQL endpoints and a backend to expose the data.
What I did
As subject-matter expert and senior developer I built the skeleton of the Angular front end against the GraphQL endpoints, and assisted on the GraphQL server and the database design that backs it without violating normal forms.
R&D
Proof of Concepts
Prototyped across a broad stack and built custom UiPath activities for ImageRight automation.
An R&D effort to explore and integrate new technologies into the wider platform.
What I did
I worked on POCs spanning C#, Web API, Windows services, SQL Server, MongoDB, AWS SNS, Elasticsearch, Kibana, UiPath Orchestrator, ImageRight, Docker and Kubernetes. I built custom UiPath activities that drive UI processes against ImageRight, and worked with the middleware team to set up and maintain RPA processes via Octopus.
Outcome
New technologies were de-risked through working prototypes and integrated into the project.
Architect
Multi-Tenant Data Platform
Built a multi-tenant PostgreSQL platform where one EF Core migration set provisions every tenant, across all three isolation strategies.
C#.NET 9EF CorePostgreSQLMediatRBlazor WASMDocker
Read the case study
Context
SaaS platforms have to choose how far apart tenants live: a database each, a schema each, or packed into capacity-managed shared databases. Most codebases hard-wire one answer; this platform set out to support all three behind one control plane.
What I did
I designed a tenant-management control plane (Clean Architecture, MediatR CQRS, EF Core for writes with Dapper reads) and a schema-aware EF Core data plane. By replacing EF's internal IMigrationsAssembly and IModelCacheKeyFactory services, a single migration set applies to any tenant schema with its own __EFMigrationsHistory, while a provisioning service creates databases and schemas on demand with defence-in-depth around dynamic DDL. The sample domain leans on PostgreSQL ltree and jsonb with GiST/GIN indexes.
Outcome
One codebase provisions and migrates tenants under database-per-tenant, schema-per-tenant and grouped shared databases, administered from a Blazor WebAssembly console with OpenTelemetry throughout.
Serialized domain objects outlive the code that wrote them: rename a property or change a type and every old payload in the database stops deserialising cleanly. EF migrations fix tables, not stored documents.
What I did
I built VersionKit around declarative [SchemaVersion] and [PropertyVersion] attributes that a startup scanner compiles into step-by-step migration pipelines - renames, moves, defaults, removals and type changes - applied lazily on read with a __version watermark, plus a background backfill service that eagerly drains old data forward. An EF Core layer adds a table-per-version physical model: archive tables, a registry, optimistic-concurrency draining and a generated UNION view for cross-version queries.
Outcome
Old payloads read as current-version entities with no hand-written per-transition code, and an escape hatch keeps complex steps possible.
Authored a .NET library that intercepts deletions and stores immutable archive snapshots with TTL policies and cascade archiving.
C#.NET 10EF CorePostgreSQLjsonb.NET Aspire
Read the case study
Context
Hard deletes destroy the audit trail and soft deletes clutter live tables forever. Teams keep re-implementing the same archive-on-delete plumbing, entity by entity.
What I did
I built ArchiveKit on an EF Core SaveChanges interceptor that spots soft-deleted entities in the change tracker, copies them into typed archive tables plus a schema-agnostic jsonb payload without a single extra database read, then flips the original to a physical delete in the same batch. Related rows share a correlation id so a background service reassembles full parent-child snapshots after the source rows are gone; TTL policies expire archives on schedule, and the services expose serverless entry points for Lambda-style hosts.
Outcome
Deletions become immutable, queryable archive snapshots with configurable metadata, retention and cascade behaviour - opt-in per entity via a single attribute.
Dozens of teams needed to stand up Azure services - App Service, Functions, APIM, AKS, Cosmos DB, Event Hubs, Front Door, SQL MI and more - without each reinventing modules, environments and pipelines.
What I did
I worked on a per-service library of self-contained Terraform stacks with a consistent five-file layout, workspace-indexed environment maps, and Azure DevOps pipelines that stitch together pinned module releases and externalised platform variables from separate repositories. Patterns include cross-subscription hub-spoke access via aliased providers, API Management as fully declarative API-as-code over OpenAPI specs and XML policies, and multi-phase SQL Managed Instance deploys that hand off from Terraform to PowerShell.
Outcome
A golden-module catalogue that scaled to a production estate of hundreds of Terraform-managed Azure deployments across regions and environments.
Prototyped an access-review tool that surfaces the data reviewers need to decide.
C#ASP.NET MVCWindows ServicesSQL Server
Read the case study
Context
Access reviews needed to be automated, giving reviewers the information to decide whether a user should keep access.
What I did
I researched and built a working prototype with C#, ASP.NET MVC, Windows services and SQL Server, collecting user information and presenting it through a UI that supports informed access decisions.
R&D
AI to BS
Built a smart PDF-form prototype that prefills from prior data and generates completed forms.
C#ASP.NET MVCMongoDB
Read the case study
Context
Users needed a faster way to fill out PDFs, reusing information they had already provided.
What I did
I built a prototype web interface that collects information into MongoDB against a user, prefills fields from previous matching data, and generates a completed form on submission.
R&D
AI Signtropreter
Prototyped a sign-language interpreter using Custom Vision and text-to-speech.
C#ASP.NET Web APIAzure Cognitive ServicesCustom Vision
Read the case study
Context
An exploratory project to interpret sign language and communicate it as text and speech.
What I did
Using C# and ASP.NET Web API with Azure Cognitive Services, I trained Custom Vision to recognise and label sign images, then used the labels and confidence scores to predict the intended sentence, producing both textual and spoken output via Azure text-to-speech.
02/02
Certification
I'm not aiming for an Award.
Whenever you want to achieve something, keep your eyes open, concentrate and make
sure you know exactly what it is you want. To accomplish great things we must not
only act, but also dream, not only plan, but also believe.
9Certificates completed
4In preparation
01/02
AWS Certified Solutions Architect – Associate
Well-Architected solution design
March 2026About this certification
Designing and deploying well-architected solutions on AWS: resilient, high-performing, secure and cost-optimised architectures across compute, storage, networking and databases, applying the AWS Well-Architected Framework to turn business requirements into systems that scale.
Operationalising machine learning on AWS: preparing data and engineering features; building, training, tuning, deploying and monitoring models in production; and applying MLOps, automation, model governance, security and cost control, centred on Amazon SageMaker.
Microsoft Certified: Azure Solutions Architect Expert
Azure Solutions Architect Expert
July 2021About this certification
Expertise crafting cloud and hybrid solutions on Azure across Compute, Network, Storage, Monitoring and Security, advising stakeholders and translating business requirements into solutions aligned with the Azure Well-Architected Framework, then implementing them alongside Developers, Administrators, Security and Data Engineers.
Microsoft Certified: DevOps Engineer Expert
DevOps Engineer Expert
February 2022About this certification
Bridging development and operations to enable continuous delivery: collaboration, code management, infrastructure provisioning, source control, security, compliance, CI, testing, delivery, monitoring and feedback, with a strong focus on Terraform, Azure DevOps and GitHub.
Microsoft Certified: Azure Developer Associate
Azure Developer Associate
May 2021About this certification
Responsible across all stages of development (requirements, design, deployment, security, maintenance, performance tuning and monitoring), spanning SDKs, storage, data connections, APIs, app auth, container deployment and debugging.
Microsoft Certified Solution Associate
Web Applications
September 2017About this certification
Professional developer using Visual Studio and ASP.NET (incl. .NET Core) to architect web solutions: designing and developing ASP.NET MVC applications, planning user-interaction solutions and deploying to multi-tier environments including Azure.
Microsoft Certified Solutions Developer
App Builder
September 2017About this certification
Crafting Universal Windows Platform apps with compelling experiences across devices: program flow, types, debugging, security, data access, adaptive XAML UIs, navigation, data binding, notifications and reusable components.
Microsoft Certified Professional
Querying Data with Transact-SQL
January 2018About this certification
Managing data with Transact-SQL: SELECT queries, joins, functions and aggregation, data modification, subqueries, APPLY, table expressions, pivoting, temporal and non-relational data, plus stored procedures, functions, triggers, views, error handling and transactions.
Microsoft Technology Associate
Software Development Fundamentals
December 2016About this certification
Core programming principles: storage and data types, decision structures, repetition and error handling; object-oriented concepts; application life cycle; algorithms and data structures; web, desktop and database application fundamentals.
AWS Certified Data Engineer – Associate
Data pipelines & analytics
June 2026About this certification
Building and operating data pipelines on AWS: ingesting, transforming and orchestrating batch and streaming data; designing and managing data stores; cataloguing, governance and security; and optimising data for analytics with services such as Glue, Kinesis, Redshift, Athena and Lake Formation.
AWS Certified Solutions Architect – Professional
Enterprise & multi-account architecture
In preparationAbout this certification
Advanced, enterprise-scale architecture on AWS: complex multi-account and hybrid environments, migration and modernisation strategy, and the cost, performance, resilience and security trade-offs of designing across the full breadth of AWS services.
AWS Certified DevOps Engineer – Professional
CI/CD, IaC & operations
In preparationAbout this certification
Provisioning, operating and managing distributed systems on AWS: CI/CD pipelines, infrastructure as code, configuration management, observability and incident response, building high-availability, fault-tolerant automation with security and compliance throughout the delivery lifecycle.
AWS Certified Security – Specialty
Securing the AWS platform
In preparationAbout this certification
Specialisation in securing AWS: identity and access management, threat detection and incident response, infrastructure and data protection, encryption and key management, and logging and monitoring, to design and operate secure workloads end to end.
02/02
Blog
From the build log.
Notes on cloud & data architecture, .NET engineering and the practice of shipping software.
Convey did not appear from nowhere and it does not stand alone. DShop, Pacco, Ntrada, Chronicle, Pactify — the DevMentors constellation the toolkit grew out of and feeds into, which repo to study for what, and the close of both series.
There is no dotnet new template and no CLI — Convey's onboarding is docs, samples and source. Reading the repo-of-repos layout and its packing scripts, then walking the actual path: build your first service from an empty project, one config section at a time.
FastEndpoints.A2A publishes an agent card at a well-known URL and answers agent-to-agent calls through a JSON-RPC 2.0 dispatcher written entirely by hand - implementing exactly the slice of the A2A protocol it can do honestly. The final missing chapter, and the close of both series. Part 12 of FastEndpoints — The Missing Chapters.