Case Study

Backstage-Integrated BFF Layer

Built a Node.js and Express backend-for-frontend integrated with Backstage to aggregate and normalize multiple services, reducing payload size by 20% and improving API response times by 40%.

Node.jsExpressBackstage

Role

Software Engineer

Company

Lowe's India

Period

2023 - Present

20% smaller

Payload Size

40% faster

API Response

10+ aggregated

Endpoints

5+ teams

Teams Served

System Diagram

Backstage → BFF → UI Flow

Backstage acts as a platform layer, while the BFF aggregates and normalizes upstream services for frontend consumption.

Live flow

Context

Frontend teams were pulling from multiple services directly, causing over-fetching, inconsistent contracts, and slow page loads. Backstage was used as a platform layer, but frontend teams still needed a simplified and stable API contract.

Problem

Multiple upstream APIs returned large payloads and inconsistent shapes, leading to slow rendering and repeated frontend transformation logic.

Goals

  • Reduce payload size and speed up API response times.
  • Create stable contracts for frontend teams.
  • Centralize caching, auth, and error handling.

Responsibilities

  • Designed the BFF contract and data aggregation strategy.
  • Implemented Node.js/Express services with caching and retries.
  • Integrated the BFF layer with Backstage services/plugins.
  • Instrumented observability for latency and error tracking.

Constraints

  • Legacy APIs could not be changed quickly.
  • Strict performance budgets for critical pages.
  • Needed to support multiple frontend surfaces.

Approach

  • Introduced an aggregation layer with normalized response shapes.
  • Implemented caching and selective field mapping.
  • Added service-level SLAs and monitoring dashboards.

Solution

  • Built a Backstage-integrated BFF layer to unify multiple upstream services into a single frontend contract.
  • Deployed on AWS with autoscaling, health checks, and monitoring.
  • Consolidated 10+ endpoints into a single frontend contract.
  • Rolled out phased migration with backward compatibility.

Results

  • Reduced payload size by 20% and improved response time by 40%.
  • Simplified frontend data handling with consistent contracts.
  • Improved reliability with centralized error handling.
  • Reduced direct dependency of frontend teams on multiple backend services.

Learnings

  • Contracts are as important as performance wins.
  • Platform layers like Backstage still require a well-designed BFF for frontend efficiency.
  • Observability must be built in from day one.
  • Incremental migrations reduce risk and speed adoption.