← Back to Work
Zero Waste Store
Mobile AppReact NativeExpoTypescriptGraphQLShopify2021-2024

Zero Waste Store

The shopping app for ZeroWasteStore, a US retailer of plastic-free home, beauty and pet care goods — 200+ sustainable brands, browsable and buyable from a phone.

View Live Project ↗

Also on Google Play, as ZeroWasteStore.

ZeroWasteStore sells plastic-free alternatives for the home, bathroom, beauty shelf and pet bowl — over 200 brands, every order carbon-neutral and packed in compostable or recyclable materials. The catalogue lived on Shopify and the website worked fine on a phone, but "works on a phone" and "is an app" are not the same promise. This is the app.

A store you can actually browse

The app opens on a merchandised Discover feed — banners, collection carousels and grids the store's team controls — rather than a flat product list. From there the catalogue behaves the way a shopper expects: browse by collection, drop into sub-categories, filter and sort, or search.

Product pages carry the full picture: image gallery with pinch-to-zoom, variants, price and availability, the long-form description the merchant writes in Shopify, and customer reviews with star ratings that shoppers can write themselves after buying.

Zero waste products

Built for people who come back

Most of the app is about the second visit, not the first.

  • ZWS Rewards — points balance, ways to earn, redemption, and giveaway entries, all in-app
  • Wishlists — not one list but many: create, name, rename and group them, so a shopper can keep a "kitchen swaps" list apart from a gift registry
  • Subscriptions — recurring deliveries of the things that run out, with the next shipment date, skip, reschedule, edit, cancel and reactivate handled from the account rather than by emailing support
  • Orders — order history and a step-by-step tracker for anything currently in transit
  • Account — profile, saved addresses, notification preferences, and push notifications for offers and order updates

Browsing never asks for an account. The moment a shopper reaches for something that needs one — a wishlist, a reward, an order — the app offers to log them in and puts them back where they were.

Checkout that stays the merchant's

Cart is native: quantities, promo codes, shipping insurance, live totals. Checkout hands off to Shopify's own hosted checkout, with the shopper carried across already signed in, so Apple Pay, Google Pay, Afterpay and card payments all run through the payment stack the store is already certified and reconciled on. When the order is placed, a deep link brings the shopper straight back to a confirmation screen in the app.

Addresses are validated and auto-completed as they are typed, US and international, which is the difference between a delivery and a support ticket.

How it's built

React Native and Expo, TypeScript throughout, one codebase for iPhone, iPad and Android with layouts that reflow for tablets.

The catalogue comes from Shopify's Storefront API over Apollo GraphQL with a persisted cache, so the app opens with content already on screen instead of a spinner. Where the Storefront API stops short — collection filters, product counts — the app calls small Liquid endpoints on the store itself. Around that core sit the services the shop actually runs on: search, reviews, wishlists, the rewards platform, subscription billing, address verification, Shopify Multipass for the signed-in checkout handoff, and OneSignal for push.

Zero Waste Store app icon