← All selected work
01 / ENTERPRISE ENGINEERING

From complex pricing to confident decisions.

Building the services behind enterprise retail planning. From domain models and gRPC contracts to resilient publishing and multi-tenant releases.

CONTEXTScalene Group
MY ROLESenior Software Engineer · Pricing squad technical direction
PERIOD2024 — Present
PLANNING PLATFORMARCHITECTURE STUDY
PRICE PLANNER
Promotion performanceQ3 / 2026
Plan stateReady to publish
gRPCEVENTS
01API gateway↗︎
02Forecast planner↗︎
03Service bus↗︎
CONTRACTS → STATE → RECOVERYIllustrative interface · synthetic data
01 / CONTEXT

The challenge.

Retail pricing decisions connect products, trading terms, promotions and forecasts. A planning system needs to keep those relationships consistent while multiple services and teams evolve independently.

02 / OWNERSHIP

What I built.

I architected and built Price Planner and Forecast Planner from their first commits: service contracts, domain logic, persistence, CI/CD and quality gates. I also own architecture decisions and design reviews for the pricing squad, mentor three engineers and work directly with product.

  • ↗︎Two greenfield planner services
  • ↗︎550+ unit tests across the new modules
  • ↗︎35+ tenants on the wider platform
03 / THE REASONING

The decisions behind it.

01

Explicit service boundaries

Versioned Protobuf contracts and a BFF keep the Angular portal separate from the internal gRPC services. Each service has a clear responsibility rather than leaking persistence details across the system.

02

Design for partial failure

Publish and unpublish operations cross service boundaries. Compensating actions handle failed publishes, while plan locking and controlled overrides protect changes in progress.

03

Make releases smaller

Trunk-based development, feature flags, error tracking and automated tests support incremental releases across a platform serving 35+ enterprise tenants in Australia, the UK and the US.

04 / REFLECTION

What matters most.

A distributed workflow is only as reliable as its recovery path. Making ownership, state transitions and compensating actions explicit is as important as the successful request.

Based on my professional experience at Scalene Group. Diagrams are simplified illustrations; no proprietary code or customer data is included.

UP NEXT / APPLIED AI / DEVELOPER TOOLS

AI code review

↗︎

Working on something similar?

Let’s talk