← Back to projects

Professional work

Production E-commerce Platform

Live UK ASP.NET e-commerce/CMS platform

  • .NET Framework 4.8 ·
  • SQL Server ·
  • Umbraco CMS ·
  • Redis ·
  • Stripe flows ·
  • External APIs ·
  • React ·
  • AngularJS ·
  • Application Insights ·
  • NestJS middleware
Summary

Quick overview

Production e-commerce platform work involving cart and checkout workflows, subscription state, Redis/Umbraco cache issues, Stripe-related middleware flows, external API notifications, reporting, CSV exports, back-office tooling, and cart workflow improvements.

Details are anonymized and summarized without exposing internal code, customer data, or proprietary implementation details.

Project snapshot

Context, responsibility, outcome, and takeaway

Context

I worked on a production e-commerce platform used for competition, subscription, checkout, and back-office operations. The system was built on a legacy ASP.NET/.NET Framework stack with SQL Server, Redis, Umbraco CMS, and several external integrations.

My role

My work focused on backend workflows, operational reliability, performance fixes, reporting, and integration support. A large part of the role involved taking tickets from TechOps or other developers, investigating whether the issue was a real software defect or an operational/configuration issue, finding the root cause, and delivering fixes where needed.

Result

Improved reliability and diagnosability around checkout/cart workflows, subscription state, external notifications, and manager-facing reporting, including cart workflow improvements that reduced repeated work and N+1 access patterns.

Takeaway

Production work rewards careful root-cause analysis, measurable fixes, and knowing when an issue is a software defect versus data, cache, integration, or operational state.

Investigation-to-release flow

How TechOps/developer escalations moved toward fixes or operational explanations

01

TechOps ticket

02

Logs / App Insights

03

SQL + Redis/Umbraco state

04

Integration behavior

05

Fix or explanation

06

Validation / release

Implementation notes

Expandable details for the technical story

Cart workflow improvements

Some cart-related workflows had unnecessary loops, repeated validation logic, and N+1 database access patterns. I investigated the repeated work, reduced unnecessary validation passes, and improved how loaded data was reused during the workflow.

Redis / Umbraco subscription state

A subscription could remain in an incorrect inactive state, causing wrong data to appear in the frontend and back-office. I traced the backend data flow, Redis/Umbraco cache behavior, and UI-visible state, then fixed the cause of stale or incorrect subscription data.

Stripe-related middleware flow

The Stripe integration was not only a direct backend endpoint. There was a NestJS middleware between the e-commerce platform and Stripe, with subscription creation, update, cancellation, and reward-granting events. Parts of the integration flow also involved Temporal Server orchestration, so fixes had to respect asynchronous event behavior.

External API notifications

The platform sent external notifications for business events such as ticket purchases, subscription actions, and competition/prize-related events. I supported these notification flows so events could be sent reliably without blocking important backend workflows unnecessarily.

Back-office and reporting

I worked on internal tools used by managers and operational users, including reports, CSV exports, and back-office improvements. The goal was to make internal operations easier and reduce manual work for non-technical users.

Operational investigation

A significant part of the work involved investigating TechOps tickets and developer escalations. I had to determine whether an issue was a real application defect, a data problem, or an operational/configuration issue, then trace the root cause through backend logic, database state, logs, cache, and external integration behavior.

Constraints

Why the work is summarized instead of fully public

  • Legacy .NET Framework 4.8 codebase with existing business rules
  • Live customer-facing e-commerce/CMS platform
  • Release safety and regression risk mattered more than broad rewrites
  • No internal code, customer data, database schema, or proprietary implementation details shown
  • Application-side release support and diagnostics, not DevOps ownership
Technical focus

Core responsibilities and engineering details

  • Worked on multi-user cart and checkout-related workflows rather than simple add-to-cart features
  • Investigated slow cart-related logic caused by unnecessary loops, repeated validations, and N+1 query patterns
  • Worked on cart workflow improvements around unnecessary loops, repeated validations, and N+1 query patterns
  • Investigated Redis/Umbraco cache-related issues where subscription state became stale or inactive and caused incorrect data in the frontend and back-office
Additional technical details 6 more points
  • Worked with a NestJS middleware between the e-commerce platform and Stripe for subscription lifecycle flows
  • Supported Stripe-related create, update, cancel, and reward-granting events, including integration behavior that involved Temporal Server orchestration
  • Supported external API notifications for competition, purchase, ticket, and subscription-related events
  • Built and maintained reporting features, CSV exports, and back-office improvements used by managers and internal users
  • Investigated TechOps tickets through backend logic, database state, cache, logs, and external integration behavior
  • Used Application Insights, local debugging, database inspection, Postman, Ghost Inspector, and request-level analysis during issue investigation
What I can explain in an interview

Concrete topics this project supports

  • How TechOps and developer escalations were triaged into software defect, data issue, cache state, integration behavior, or operational explanation
  • Redis/Umbraco cache consistency and cache expiration/update logic
  • Cart workflow improvements around repeated validations and N+1 query patterns
  • N+1 query patterns, unnecessary loops, repeated validations, and local profiling
  • Stripe-related subscription lifecycle handling through NestJS middleware and Temporal-orchestrated flow parts
  • External API notifications for ticket, purchase, subscription, and competition/prize events
  • Safe changes inside a legacy .NET Framework 4.8 codebase with existing business rules