All work

Columbia Sportswear · Digital Commerce · 2025 — Present

Real-time Personalisation for Digital Commerce

Spring Boot microservices and Kafka streams that bring ML-driven recommendations into the shopping experience — from catalog to checkout.

Client code · private under NDA

Architecture at a glance

  1. 01

    React storefront

    Product discovery UI

  2. 02

    API Gateway

    OAuth 2.0 / JWT

  3. 03

    Commerce services

    Catalog · Cart · Orders

  4. 04

    Kafka

    order.* · customer.*

  5. 05

    Recommendation API

    ML model outputs

The challenge

Shoppers needed relevant products in the moment, while catalog, inventory, pricing and order services had to stay fast, consistent and independently deployable.

Tech stack

Java 21
Spring Boot
Apache Kafka
React
TypeScript
AWS EKS
PostgreSQL
Docker
Kubernetes
CloudWatch

What I did

  • 01Split commerce workflows — catalog, inventory, pricing, cart, checkout, orders — into Java 17/21 Spring Boot microservices.
  • 02Published customer and order events to Kafka so downstream services and analytics react in real time.
  • 03Prepared behavioural and transaction data for ML, then exposed model outputs as REST APIs consumed by React storefront components.
  • 04Ran on AWS EKS with Docker, Jenkins CI/CD, CloudWatch, Splunk and distributed tracing for reliability.