Online Grocery Shopping

AmazonFresh is an online grocery shopping and delivery service and was one of the most exciting, fun, and rewarding experiences of my career.

I was blessed with the opportunity to be on a small team of brilliant minds, hand-picked to tackle the tough job of building a new type of Amazon eCommerce experience that would allow our customers to shop for 30 items or more in 30 minutes or less. We set out to prove that we could change typical shopping behavior by building an online grocery service that could replace our customers’ primary grocery store.

Screenshot of the grocery shopping landing page for AmazonFresh.

AmazonFresh grocery shopping landing page featured a gallery style layout of each category with what turned out to be a powerful filtering tool across the top.

My Role

I was the sole, lead UX designer from inception through launch plus an additional year or so. I collaborated with engineering and business to flush out requirements and drive core feature sets including: search, browse, inline cart, scheduling a delivery, check out pipeline, address book, account management, automatic deliveries, past purchases, and even integration with shopping for items—to name a few.

My responsibilities included all aspects of design from discovery through deployment. I relied heavily on paper prototypes in the initial phases of any new feature and designed and prototyped almost everything in production-ready HTML and CSS. I was fortunate to have a manager and director that were my peers in collaboration, and appreciated my ability to deep-dive and ask hard questions.

Although this was not my first time being embedded in an agile development environment, it was the first time I got to experience integrating my design process into a 1-week sprint cycle.

I advocated for and created semantic markup—something previously valued by few at Amazon—and much of this initial markup can still be found on the site today, even though they have gone through a major visual refresh and launched in a second geographical market.

Deliverables At A Glance

  • Requirements definition (in collaboration with business and engineering)
  • Information architecture: user flows, wireframes
  • UI design: design and prototype all scenarios, use cases and edge cases
  • Visual design
  • Production ready HTML and CSS
Screenshot of the past purchases screen for AmazonFresh.

A large percentage grocery shopping lists consist of repeat purchases. The Past Purchases list wasn’t glamorous, but it was well used and loved and allowed customers to shop for their groceries in literally a matter of minutes.

Big Challenges

Our team had a lot of big challenges ahead of us, and a tight timeline was the least of our worries. One of our PMs had to find real estate to handle the fulfillment center. Another got to go shopping for refrigerated trucks and develop delivery routes. We had a team of buyers that had to forge all new relationships with an entirely different type of vendor. The engineering team had both an eCommerce platform to build, as well as fulfillment software to handle the pick, pack and shipping of new types of inventory items that involved freezers and chill chains.

Everyone was out of their comfort zones.

Screenshot of the delivery scheduling page for AmazonFresh.

The design to schedule a delivery had to be extensible enough to handle a vast amount of functionality and information, while still allowing the users’ primary goal of selecting a day and time to be completed in a single click.

Why This Team (and Project) Rocked

We were fast and nimble. We stripped scope from features to make sure what we built could be delivered within a single, 1-week sprint. We worked together, on everything, and every team member was an owner. We were iterative. We measured everything and used data to drive decisions. When we didn’t have data, we simplified scope further to build it faster to deliver it so we could measure it and change it. We failed fast. We had fun.

What These Designs Weren’t

My designs were not beautiful—even for 2007—and they were not flashy; in fact, the engineering team went so far as to have a no JavaScript rule until post launch in effort to limit the amount of time required for testing and debugging. This led to a lot of creative thinking that we would not have pushed ourselves to without it.

What These Designs Were

They were functional, and mostly accessible; which turned out to be important for the blind women that didn’t go to the grocery store to shop by herself, or for the elderly man that didn’t have a car anymore.

The site was lean and took complicated business, time, and technical constraints out of view from our customer and presented them with the food they eat, an easy way to get it in their cart, a way to select a delivery slot that worked for them, and in the end, a delivery that felt like Christmas morning.

It was a service that brought delight, which in turn drove an experience that was loved.

Effort Over Time

Our engineers were constantly pushing things out to prod, and was probably one of the first teams to do continuous deployments at Amazon. From day 1, we had a “live” site—albeit not a launched or public one. Below are some screen grabs showing how we evolved over the weeks.

Fun Tidbits (That Hopefully Won’t Get Me In Trouble)

  • The codename for the project was Omaha.
  • I can now tell the world that I have seen and stood inside a banana ripening chamber.
  • Engineers had to use their own software to pick, pack and “ship” orders as part of testing operations prior to launch.
  • Several team members were trained on driving delivery trucks and delivered some of our early orders.
  • Many of the initial items checked in to inventory were weird freebies we got from venders like volcanic rock salt.