Project library
Web appGusto · Frontend Engineer Intern · 2021

Self-serve plan-change checkout flow

Shared by S. Patel · ex-mid-size SaaS Frontend Intern

The sharer told this exact project in their Gusto behavioral interviews and went on to receive the offer.

Step into this interview

4 real follow-ups from the actual loop · 1 hard · ~12 min

You answer each question first — only then does the sharer's real take open up.

How they told it

A guided flow that let small-business admins upgrade or downgrade their plan themselves instead of emailing support.

Read the full telling

On my team, customers who wanted to change plans had to email support, and support would change it manually. My intern project was a self-serve plan-change flow in the existing React app: pick a new plan, see a clear before/after of what they'd pay and what changed, confirm. I didn't touch actual billing logic — I called an existing internal pricing endpoint that returned the proration preview, and a separate confirm endpoint that did the real change. Most of my work was frontend state: the flow had a preview step and a confirm step, and I had to make sure the price they saw in the preview was the exact one applied at confirm, because prorations can shift if you sit on the screen past midnight. I handled that by passing the preview's quote ID into the confirm call and letting the backend reject a stale quote, so we never silently charged a different number than what was shown. I also spent real time on the failure states — declined card, expired quote — because a half-finished plan change is scary for a small business owner. It went out behind a feature flag to a small percentage of accounts near the end of my internship.

What they actually got asked

How did you guarantee the price shown in the preview is the price charged at confirm?

hard

You said you didn't touch billing. So what was actually hard about this as a frontend project?

medium

Why build it in the existing React app rather than as a separate flow?

easy

At 10x traffic, what worries you about this flow?

medium