✦ SEE LIVE DESIGN ✦ SEE LIVE DESIGN

Stripe

Stripe

Bringing a complex engineering concept to life through animation

Bringing a complex engineering concept to life through animation

Bringing a complex engineering concept to life through animation

The brief

The brief

The brief

Someone on Stripe's engineering team needed an explainer animation for a technical blog post - visualising how their database infrastructure automatically recovers when things go wrong. The subject matter was dense, involving graph search algorithms, state machines and distributed database sharding. The ask was to create a visual that would help the concept land, without dumbing it down.

Someone on Stripe's engineering team needed an explainer animation for a technical blog post - visualising how their database infrastructure automatically recovers when things go wrong. The subject matter was dense, involving graph search algorithms, state machines and distributed database sharding. The ask was to create a visual that would help the concept land, without dumbing it down.

Someone on Stripe's engineering team needed an explainer animation for a technical blog post - visualising how their database infrastructure automatically recovers when things go wrong. The subject matter was dense, involving graph search algorithms, state machines and distributed database sharding. The ask was to create a visual that would help the concept land, without dumbing it down.

Create an animated visual to accompany the blog post that makes the system feel intuitive, without losing the complexity that makes it interesting.

Create an animated visual to accompany the blog post that makes the system feel intuitive, without losing the complexity that makes it interesting.

Create an animated visual to accompany the blog post that makes the system feel intuitive, without losing the complexity that makes it interesting.

THE ASK

THE ASK

THE ASK

The challenge

The challenge

The challenge

You can't design something you don't understand. Before anything was animated, my first job was getting familiar with the technical concepts well enough to know what actually needed to be shown and the best way to show it.

The second challenge was execution. The animation had a lot of moving parts (quite literally) - there were multiple recovery paths, each made up of the same four operations but in a different order (and that order mattered). Each operation held a different weight and therefore took a different amount of time, some sequences hit dead ends that violated the system's rules, and ultimately one path emerged as the fastest valid route. Getting this to feel clear rather than chaotic required careful thinking about layout, sequencing, and motion.

You can't design something you don't understand. Before anything was animated, my first job was getting familiar with the technical concepts well enough to know what actually needed to be shown and the best way to show it.

The second challenge was execution. The animation had a lot of moving parts (quite literally) - there were multiple recovery paths, each made up of the same four operations but in a different order (and that order mattered). Each operation held a different weight and therefore took a different amount of time, some sequences hit dead ends that violated the system's rules, and ultimately one path emerged as the fastest valid route. Getting this to feel clear rather than chaotic required careful thinking about layout, sequencing, and motion.

You can't design something you don't understand. Before anything was animated, my first job was getting familiar with the technical concepts well enough to know what actually needed to be shown and the best way to show it.

The second challenge was execution. The animation had a lot of moving parts (quite literally) - there were multiple recovery paths, each made up of the same four operations but in a different order (and that order mattered). Each operation held a different weight and therefore took a different amount of time, some sequences hit dead ends that violated the system's rules, and ultimately one path emerged as the fastest valid route. Getting this to feel clear rather than chaotic required careful thinking about layout, sequencing, and motion.

The process

The process

The process

The concept went through several iterations before landing. Early explorations felt too illustrative and overly simplified. Others were trying to capture too much information and lost sight of what actually needed to be understood. Finding the right level of abstraction was the real design challenge.

The final animation was built in Rive, working closely with an engineer on the Stripe team to collaboratively map out the logic and sequence. The animation moved through four distinct scenes: the initial degraded shard state, the system exploring possible recovery paths via breadth-first search, then evaluating all valid routes, and finally committing to the optimal (fastest/lowest-cost) route.

The concept went through several iterations before landing. Early explorations felt too illustrative and overly simplified. Others were trying to capture too much information and lost sight of what actually needed to be understood. Finding the right level of abstraction was the real design challenge.

The final animation was built in Rive, working closely with an engineer on the Stripe team to collaboratively map out the logic and sequence. The animation moved through four distinct scenes: the initial degraded shard state, the system exploring possible recovery paths via breadth-first search, then evaluating all valid routes, and finally committing to the optimal (fastest/lowest-cost) route.

The concept went through several iterations before landing. Early explorations felt too illustrative and overly simplified. Others were trying to capture too much information and lost sight of what actually needed to be understood. Finding the right level of abstraction was the real design challenge.

The final animation was built in Rive, working closely with an engineer on the Stripe team to collaboratively map out the logic and sequence. The animation moved through four distinct scenes: the initial degraded shard state, the system exploring possible recovery paths via breadth-first search, then evaluating all valid routes, and finally committing to the optimal (fastest/lowest-cost) route.

The outcome

The outcome

The outcome

A technical explainer animation published on Stripe's engineering blog, making a genuinely complex data infrastructure concept legible to a broader developer audience.

A technical explainer animation published on Stripe's engineering blog, making a genuinely complex data infrastructure concept legible to a broader developer audience.

A technical explainer animation published on Stripe's engineering blog, making a genuinely complex data infrastructure concept legible to a broader developer audience.

Tiana helped with illustration and animation to bring a deeply technical post to life on the Stripe engineering blog post. The post itself was about a complicated system and Tiana’s ability to understand the domain and combine it with her ability to illustrate and explain were critical in making the post an engaging read. Tiana was prompt and responsive as we iterated towards a final polished animation of the concepts and I’m definitely looking forward to the opportunity to work with Tiana on any future projects.

I worked with Tiana on a key app project over the course of a month. She was efficient, detail-oriented, and consistently went above and beyond to ensure even the smallest nuances were addressed.

From ideation through to execution, she delivered high-quality work within timelines despite operating in a remote, contractual setup. The feature she helped build was well received by our users, and her contribution added clear value to the outcome.

I worked with Tiana on a key app project over the course of a month. She was efficient, detail-oriented, and consistently went above and beyond to ensure even the smallest nuances were addressed.

From ideation through to execution, she delivered high-quality work within timelines despite operating in a remote, contractual setup. The feature she helped build was well received by our users, and her contribution added clear value to the outcome.

Ainsley Escorce-Jones
Principal Software Engineer - Stripe

Ainsley Escorce-Jones
Principal Software Engineer - Stripe

Ainsley Escorce-Jones
Principal Software Engineer - Stripe