All projects

02 / CarMax / Developer experience

Keep building. Even without a backend.

Frontend development should be able to move forward while backend work is still in progress. I designed and implemented Demo Mode for the CarMax Auto Finance frontend, including an in-app response configurator that gives developers and QA control over the endpoints the interface calls.

Organization
CarMax
My role
Senior Software Engineer
Focus
Developer experience

A CONTRACT. TWO WAYS TO BUILD.

React frontend
OpenAPI contract
Mock responsesMSW / Demo Mode
Live servicesBackend APIs
Simplified workflow
01

Start from an agreed contract

I used Mock Service Worker to provide realistic mock responses aligned to an agreed OpenAPI specification. That common contract kept the mocked experience connected to the API the team was building.

  • Implemented API mocking with Mock Service Worker.
  • Aligned realistic responses to the OpenAPI specification.
  • Enabled frontend work without a live backend.
02

Put response control inside the product

A developer control in the header opens the CarMox Response Configurator beside the customer experience. The drawer organizes every frontend endpoint by domain and makes its active response visible, so engineers can change a scenario while seeing the exact interface it affects.

  • Selected named success, validation, and failure responses per endpoint.
  • Adjusted response latency to exercise loading behavior.
  • Supported query-string overrides for shareable, reproducible scenarios.
03

Make it useful beyond development

Demo Mode supported more than writing components. The team used it for QA scenario testing and stable product demonstrations, giving the same environment a role across development and review.

  • Supported daily frontend development.
  • Provided mock scenarios for QA testing.
  • Supported product demonstrations independent of backend availability.
04

Build a shared way of working

The team adopted Demo Mode for daily use. Frontend and backend development could proceed in parallel, while QA and product stakeholders could use the mocked experience for their own work.

The outcome

Adopted team-wide for daily development, QA scenarios, and stable demonstrations without a live backend.

Next project

Independent teams. One shared experience.

A good place to start

Have something in mind?

Let’s make it happen