Lyft / Driver app / payments
Weekly Payout ETA_
Giving drivers a clear answer to “Where’s my money, and when will it arrive?”
- My role
- Product design consultant
- Timeline
- 4 weeks
- Team
- Payment Identity and Integrity (Pii)
- Platform
- Lyft Driver app, iOS and Android
- Payout tickets
- −5% in month 1
My role and who I worked with
As the product design consultant on this part of the E2E Payouts initiative, I owned:
- Support-data review, the driver navigation audit and a UI audit
- Requirements gathering with engineering on backend data and constraints
- Design explorations, the shipped M1 design and the tech spec
- A visual tracker designed for future phases
- Kanchan GaurMEProduct Design Consultant
- Hanna BuchkarykProduct Manager
- Pavlo HibeyEngineering Manager
- Artem HavriushovSenior Software Engineer
- Oleksii KraievyiSoftware Engineer
- Megan ShamContent Designer
- Amy CompeauAI Assist Senior Product Designer
- David WuStaff Product Designer
- Leslie YangDesign Lead
Team/Pii, Payment Identity and Integrity
Summary
Drivers on weekly payouts had no way to see where their money was, so they contacted support.
I designed a simple way to show the progress and expected arrival of weekly payouts. Backend and legacy UI constraints narrowed the first release to text-only changes, so I focused on the most clarity possible inside existing components:
- An inline ETA
- Empathetic status copy
- Standardized formatting
- A full visual tracker, ready for later phases
The problem and the goal
Three ways drivers get paid
Lyft has three main payout types. Weekly payouts are sent every Tuesday and take 1 to 3 days to reach a driver’s bank, and about a third of active drivers use them.
What the support data showed
- Weekly Payout, Lyft Direct and Express Pay make up 75% of payouts-related support volume, and Weekly Payout alone is 39%
- 18.8% of assisted payout tickets are status updates, and nearly 70% of those are about a pending deposit
- Only 5% of drivers used the Payout History page at all
The goal
Show payout status clearly
- Answer “Where’s my money?” and “When will it be in my bank?” before drivers have to ask
Reduce support contacts
- Cut high-volume support contacts about weekly payouts and lower payout L1M
My process
- 01UnderstandSupport volume and payout types
- 02ListenDriver insight sessions
- 03AuditNavigation journey and current UI
- 04AlignBackend data and constraints with engineering
- 05Explore and shipExplorations, scoped M1 and tech spec
Driver insights
Trust
Drivers don’t trust the AI Assistant; it feels generic, not personalized to their situation.
Terminology
Many drivers aren’t native English speakers, and “payment,” “earnings,” “payouts” and “deposit” all feel the same.
Access
When something feels off, drivers go to the Earnings tab first, but it has no payout information.
Driver navigation journey
Payout status was four taps deep: Earnings, Weekly breakdown, Payout history, then the payout detail. That path explains the 5% adoption.
Design audit
- Truncated labels hid amounts on the detail screen
- Currency was formatted inconsistently (“7,43 US$”)
- The initiation date, the one piece of information drivers most needed, was buried at the bottom
Gathering requirements with engineering
- Do we have ETA data for weekly payouts? No ETA data exists. The provider has an arrival_date field, but it’s a date only, with no hours and no bank-side processing time.
- Is the ETA stable once initiated? Uncertain. The provider gives an estimated date, but bank processing adds variability.
- What data do we have? Four transaction statuses that map reliably to a driver-facing experience. These became the design foundation.
- 01CreatedTransaction is created on Lyft’s side. No driver-facing action yet.
- 02ProcessingPicked up and about to be sent to the payment provider.
- 03ProcessedProcessed on our side; the provider will schedule execution to the bank.
- 04PaidProvider confirms it has been processed and sent to the bank.
How I solved it
Explorations
- Separated Pending from History so drivers could tell what they’ve received from what’s on the way
- Explored horizontal and vertical progress trackers with an inline ETA
Constraints that reshaped the scope
Fetching Stripe’s arrival_date had previously caused latency spikes, timeouts and 503/504 errors, so payment gateway requests had been turned off with no long-term fix yet.
The screen was nine years old with no component library support, so engineering couldn’t add new components or restructure the page for M1.
Visual tracker, tabs and ETA
Progress stepper, Pending and History tabs, an inline ETA with arrival date, and a path to review payment options.
Text-only updates and an ETA label
Inline ETA text, empathetic status copy and standardized formatting, within existing components only.
So I asked the team what we could do, and set out to deliver maximum clarity inside the tightest possible scope.
Final design: payout activity list
- A “Paid by” tag on in-progress weekly payouts
- Clear payout type and status on every row
- Standardized amounts in “$54.99” format
Final design: payout detail
- An in-progress tag and expected date at the top, where drivers look first
- Human copy: “Great news! Your payout is processing and should be deposited into your Wells Fargo *9876 account by Friday, Aug 15.”
- A sheet explaining the Tuesday schedule, what to do if the payout hasn’t arrived, and a route to Lyft Help
Tech spec
I documented the M1 changes for engineering:
- Which field to display (estimated_completion_at_ms)
- The label tag style and size
- List item tweaks
- The feature flag, scoping changes to weekly payouts in processing status only
Visual tracker for future phases
With the page rearchitecture planned, I designed the full experience to pick up from M1:
- In-Progress and Completed sections
- A three-step tracker from “Lyft sent your payout” to “Money is in your bank”
- The deposit method and a link to review payment options
Outcome
Fewer payout support tickets in the first month after launch
From brief to shipped M1
- Added an inline ETA to both the payout history and detail pages
- Introduced human, empathetic copy (“Your payout is on its way”)
- Improved clarity and reduced payout-related confusion
- Designed a visual tracker ready for future phases
Learnings
Ship something that works, then grow it. A text-only change still moved support volume.
Scope went from a full visual tracker to text-only changes. The job is finding the best solution within whatever you’re given.
Asking about data and constraints up front surfaced the Stripe blocker before it could derail the design.
Weekly design reviews kept product, content, engineering and design aligned through a four-week timeline.