UI kit for Expo · React Native61 componentsRuns in Expo Gov1.1.1

Sumak UI

Buttons, forms, sheets, toasts, tabs and dark mode, already designed and built. Pick one brand color and your app looks finished from the first run, on iOS, Android and the web.

from$49one-time paymentChoose a licenseLive demo
  • Home screen in dark mode: a searchable people list with coloured initials, All and Online filters and a tab bar
  • Side menu open over the home screen in dark mode: profile, navigation items with a notification badge and sign out
  • Person detail in dark mode with a cover image, tags, a bio, accordions and actions
  • Settings with live theme controls: brand color, mode, header style, gradient and shadow
  • Profile in dark mode with stats, a progress ring, chips and account rows
  • Component gallery, content section: cards and list rows
  • Sign-in screen in dark mode with email and password fields
  • The home screen in light mode
  • Person detail in light mode

What's in the kit

Source code you own, ready to drop into an Expo app. Every component is themed, works in light and dark, and has smooth, interruptible animations.

61 componentsEverything a typical app screen needs, from a pill button to a date picker, a bottom sheet and a swipeable carousel. All typed, all accessible.
A theme engine14 brand presets or any hex. From that one color the kit derives the tones, the gradient, the dark variant and readable text on top. Four header styles, gradient on or off, shadow strength, three dark-mode depths.
A real example appSign-in and sign-up, a list with search and a detail screen, a profile, settings with live theme controls and a gallery of every component. Built with expo-router.
Docs for buyersGetting started, theming, every component with its props and slots, forms, navigation, accessibility, testing and how to update, in a static site you open from disk.

The components

Customize it. Update it anyway.

Most kits make you choose: edit the components, or keep getting updates. Sumak UI keeps your changes in your own files, so a new version never overwrites them.

Typed overridesDefault props, styles and extra variants for any component, in one file you own: theme/overrides.ts. Your editor autocompletes every key.
Named slotsEvery component exposes its parts (root, label, icon…) by name. Slot, variant and prop names don’t change within 1.x, and if one ever does in 2.0, TypeScript points at your file.
Eject one componentWhen overrides aren’t enough, copy that one component into components/custom/ and edit it freely. Your app picks up your copy everywhere.
Update by replacing a foldercomponents/kit/ belongs to Sumak UI; replace it with the new one. The changelog lists exactly which component files changed, so you know if an ejected copy needs a look.
components/kit/Sumak UI’s. Replaced on every update.theme/ · components/custom/ · components/ui.tsYours. Never overwritten.

Where it runs

No custom native modules, no dev build to maintain. Install, run, open on your phone.

Expo Go
runs as is: only libraries that ship inside Expo Go
SDK 58 · 57
the current Expo SDK and the one before, New Architecture
iOS · Android · web
one codebase; the web build is the live demo
44 pt
touch targets, plus screen readers, reduce motion, font scaling and right-to-left

Get Sumak UI

The same tiers and terms as our templates. One payment, a perpetual license, and you can move up a tier later by paying the difference.

Personal$49
  • 1 developer
  • 1 app, for you or your company
  • Free products only
  • Every 1.x update, source code included
Buy Personal
Extended$249
  • Everything in Team
  • Apps your users pay for: subscriptions, in-app purchases or a paid app
  • Every 1.x update, source code included
Buy Extended
✓ Instant download: the example app, the kit, docs and license✓ 15-day refund if it doesn't work as described✓ Secure checkout by Polar (merchant of record)Read the license →

What you download

  • example/The whole example app, ready for npx expo start.
  • kit/The components and starter files to copy into an app you already have, with a short install guide.
  • documentation/The buyer docs, as a static site you open from disk.
  • LICENSE.md · LICENCIA.mdLicense 1.2, in English and Spanish.

Questions about Sumak UI

Something else? Write to support@cactusdeck.com.

Does it run in Expo Go?

Yes. The kit only uses libraries that ship inside Expo Go and has no custom native modules, so there is no dev build to maintain. Run the example with npx expo start and scan the QR code.

Which Expo SDKs are supported?

Each release supports the current Expo SDK and the one before it, on the New Architecture: today SDK 58 and 57. The example app pins SDK 58 so it opens in Expo Go. When a new SDK ships, a patch release follows.

How do updates work?

Every 1.x update is free. Download the new zip, replace components/kit/ and read the changelog’s list of changed files. A new major version is offered to existing customers at 50% off.

Can I customize it without breaking updates?

Yes, that is the point of the design. Brand color and switches go in theme/sumak.config.ts, component styles and default props in theme/overrides.ts, and a fully rewritten component in components/custom/. None of those files is touched by an update.

How good is web support?

Every component renders and works on the web through react-native-web; the live demo is the example app exported to the web. It is a mobile-first kit, though, and a few details are narrower there: screen-reader announcements, Link is not a real <a href>, and keyboard support in Tabs and PageIndicator is partial.

Is react-hook-form bundled?

Yes. FormField is built on react-hook-form, and it is part of the kit’s entry, so react-hook-form is a regular dependency of every app that imports from the kit.

My app has subscriptions or in-app purchases. Which license?

Extended. Any app whose users pay, through subscriptions, in-app purchases or a paid download, needs Extended. Free apps, apps with ads and internal tools are fine with Personal or Team.

What if it doesn’t work for me?

If Sumak UI doesn’t work as described and we can’t fix it, or you bought the wrong license, we refund you within 15 days. Refund policy →

Why “Sumak”?

Sumak means “beautiful” or “good” in Kichwa, the language of the Andes of Ecuador, where Cactus Deck is based. It is the word in sumak kawsay, “good living”. We wanted a kit that makes an app look good from the first run, so the name stuck.