Challenge

Higher Stakes Than Most

When COVID-19 lockdowns began in early 2020, digital grocery shopping shifted from a convenience to a necessity almost overnight. For one of our grocery clients, that shift carried more weight than most. With 80% of their customer base relying on SNAP benefits, a confusing checkout flow or a failed EBT transaction wasn’t just a bad experience. It was a barrier to food access.

The goal was to build a curbside pickup app capable of handling the full complexity of EBT payments online, a process governed by strict federal requirements, and make it feel completely native to an existing product. Users shouldn’t have to notice that anything special was happening. It just had to work.

There was an added constraint: the app shared a codebase with a second brand whose customers had no need for EBT at all. Whatever I built had to be invisible to one audience and essential to the other, without splitting the product into two separate experiences.

Strategy

Seamless by Design

The guiding principle throughout was integration, not addition. Rather than treating EBT as a separate flow bolted onto the existing experience, I designed it to live inside the same structures users already understood.

EBT in the Wallet and Checkout

I extended the existing wallet interface to support EBT card entry and balance display, treating EBT as a primary payment method rather than a special case. At checkout, it appeared alongside other payment options without any change in hierarchy or visual treatment. The aim was a flow that felt familiar to someone who had used EBT before and required no explanation for someone encountering it for the first time.

Solving for Variable-Weight Complexity

One of the more technically demanding problems in grocery e-commerce is variable-weight items. Products like meat or produce are priced by weight, and the final amount isn’t known until the item is picked. Because EBT funds are strictly allocated, even a small overage can cause a transaction to fail at pickup. Rather than designing around every possible edge case, I landed on a simpler solution: once an EBT card is added, the system requires a backup payment method on file. Any overage or non-eligible item is covered automatically, without interrupting the checkout flow. It kept the experience clean for the user and reduced the failure surface significantly.

SNAP Eligibility in Cart and Order History

Federal requirements called for SNAP eligibility to be surfaced at the cart level, so users could see exactly which items qualified before reaching checkout. I extended this into order history as well, giving users a clear record of what was covered after the fact. Both additions were designed to sit within the existing UI without introducing new patterns, keeping the experience consistent for all users regardless of whether EBT was part of their checkout.

Results & Impact

Certified in Under 24 Hours

The USDA certification process is typically a multi-day audit covering every edge of the EBT implementation. Ours cleared in under 24 hours.

"This is one of the smoothest tests we've ever conducted." — USDA Official

For an implementation built under pandemic conditions, on a shared codebase, by a single designer, that result was the clearest possible signal that the work held up.

Because the EBT experience was built to integrate rather than interrupt, it was adopted across the client’s broader e-commerce portfolio, including their other brand. What started as a solution for one customer base became the standard for the entire platform.

80%

Customers rely on SNAP benefits

2x

Brands supported from a single codebase

>24hr

Passed USDA testing under 24hrs