All case studies

Luxury e-commerce

Moda Operandi

Runway pre-orders and in-stock luxury retail: catalogue made fast, checkout made robust.

60%+faster catalogue

The challenge

Moda Operandi sells luxury fashion, beauty and home, and lets customers pre-order straight off the runway through Trunk Shows, before items are even manufactured.

The Rails monolith served catalogue and search directly from the database. Order code had grown tangled across years of contributors, and test coverage sat below 50%.

How it works

  1. 01

    Page caching

    Implemented page caching for high-traffic category pages (clothing, shoes, bags, sale) behind CloudFront.

  2. 02

    Search as a service

    Integrated Algolia across product search, category grids, faceted filtering (designer, colour, size, price) and sorting. Products sync to the index automatically on create, update and delete, so filtering never touches the database.

  3. 03

    Order refactor

    Led the refactor of order creation with the US team: extracted shared modules, removed dead code, documented complex conditions and rewrote critical paths functionally. Covered cancellation, refund and pricing policies, including member discounts and coupons.

  4. 04

    Test coverage

    Wrote 200+ new test cases, lifting coverage by 30–40% and paving the way for a separate Order service.

Engineering decisions

Move reads off the database

  • Search and filtering moved to a purpose-built index. Category pages are served from cache. The database is left for writes and transactions.

Outcomes

  • 60%+ performance improvement across catalogue and search.
  • Search responses under 5 ms, with filters rendering instantly.
  • Test coverage up 30–40% through 200+ new tests.
  • Order domain cleaned up and ready to split into its own service.

Technology

Ruby on Rails
Monolith
PostgreSQL
Primary database
Sidekiq
Background jobs
Algolia
Search, facets and sorting
AWS EC2 · CloudFront · S3
Compute, caching, assets
JavaScript
Frontend

Contact

Have something you want to build?

Tell us what you're building, or what you'd like to automate. Let's figure out the next step.