$ open work/content-rendering.case
case study / 003

Content rendering at Uber scale

Led related rendering, personalization, and attribute-platform work across two Uber roles, cutting static-content p99 from 140 ms to 7 ms while serving 10M impressions a day.

20×faster static p99
dynamic-content p99
35 ms
impressions / day
10M
attributes / day
260B+
01 / context

Three bottlenecks across one platform

Uber’s communications platform needed to author and render real-time personalized content across its lines of business. Over two roles, I worked on three connected constraints: personalization setup, rendering latency, and attribute reliability.

Treating them as a platform portfolio—not one monolithic project—made it possible to sequence product enablement, hot-path performance, and storage reliability without conflating their results.

rendering performance10M impressions / day
static-content p9920× faster
before140 ms
after7 ms
dynamic-content p996× faster
before210 ms
after35 ms
02 / decisions

Sequence the product and performance work

As a Software Engineer I, I led a unified personalization engine and designed the data model and integrations that reduced repeated enablement work across authoring tools.

As a Software Engineer II, I led the rendering investigation, set performance targets, designed the new path, profiled the hot spots, and coordinated implementation with the FeedManager team.

03 / reliability

Make the attribute layer durable

Recurring attribute-store failures affected hundreds of templates and made privacy features harder to ship. I helped redesign the storage boundary and migrate it from deprecated Cassandra infrastructure to Docstore.

The resulting platform added anonymization support, table lifecycles, and more reliable runtime behavior while reducing the operational burden carried by each consuming product.

04 / outcomes

The combined production results

Static-content p99 fell from 140 milliseconds to 7 milliseconds and dynamic-content p99 from 210 milliseconds to 35 milliseconds while serving 10 million impressions each day.

Across the related platform work, attribute onboarding fell from one week to five minutes, the architecture supported rendering more than 260 billion attributes daily, and the storage redesign prevented roughly seven million rendering failures.