Developers · React Native
Kitenzo bundles, inside your mobile app.
The Kitenzo React Native Starter is an open-source Expo app for iOS and Android. It loads a bundle, lets the shopper build it with live pricing, and checks out through Shopify. Fork it, point it at your shop and ship.
Expo SDK 57, React Native and TypeScript. MIT licensed.
- 01
Load a Native bundle
@kitenzo/core fetches the bundle with its sections, products and variants.
- 02
Pick items, section by section
The bundle price updates as the shopper chooses, with no round trip.
- 03
Add to a Storefront API cart
cartLinesAdd plus the _bundles attribute, so the Cart Transform applies the bundle price.
- 04
Hand off to Shopify checkout
The cart opens in Shopify checkout. Payments, taxes and fulfilment stay native.
Try it on your phone
Scan, build a set, check out.
The demo runs against a Kitenzo demo store with five bundles: a skincare routine in steps, a fixed-price outfit, mix-and-match drinks with tiered discounts, supplements with free products and a gift box. Pick one, build it and watch the price change as you go.
Already on your phone? Tap the link under the code instead.
What's inside
The whole bundle flow, already wired up.
It runs on @kitenzo/core, the same engine behind Kitenzo on Liquid themes and headless storefronts. You only need a shop domain and a Kitenzo headless API key. It uses Shopify's tokenless Storefront API access, so there is no Storefront token to manage.
Native bundles with live pricing
Sections, products and variants come from your Kitenzo admin. The price recalculates on device as each item is picked.
A Storefront API cart, _bundles included
Lines go in with cartLinesAdd and the _bundles cart attribute is set for you, so Shopify’s Cart Transform applies the bundle price.
Shopify checkout
The finished cart hands off to Shopify checkout. No custom payment flow to build or maintain.
Markets and currency aware
Set a country code and prices, cart and checkout follow that Shopify Market and its currency.
TypeScript and Expo Router
Typed end to end, with file-based routes. Runs on iOS, Android and the web from one codebase.
MIT licensed
Fork it, restyle it and ship it in your own app. The licence asks for nothing back.
Get started
Running on your shop in three steps.
You need Node, a Shopify store with Kitenzo installed and at least one published bundle.
Headless access is enabled per shop. If you do not see Settings › Headless in Kitenzo yet, request API access and we will turn it on.
- 01
Copy the starter
Or fork and clone it on GitHub.
terminal$ npx degit kitenzo/react-native-starter my-app $ cd my-app && npm install - 02
Point it at your shop
Copy
.env.exampleto.envand add your shop domain and Kitenzo headless API key..envEXPO_PUBLIC_SHOP_DOMAIN=your-store.myshopify.com EXPO_PUBLIC_KITENZO_API_KEY=kit_live_your_key_here - 03
Start it
Scan the QR code with Expo Go, or press i, a or w for the iOS simulator, Android emulator or web.
terminal$ npx expo start
App builders
Using Tapcart or another app builder?
You don't need the starter. For each bundle a shopper builds, Kitenzo's headless API returns the cart lines and the _bundles attribute, ready for the app's cart. Add them from a custom block and Shopify prices the bundle at checkout as usual.
Request API access and tell us which app builder you use. We'll help you set it up.
Fork it and ship your bundle app.
The starter is the quickest way in. When you outgrow it, @kitenzo/core is the dependency-free client underneath, ready for any React Native or JavaScript app.
Building for the web instead? See the React SDK →