Open-source building blocks for point-of-sale apps

React Native components, an offline-first database on RxDB, and connectors for WooCommerce, Medusa and Vendure. Build one POS for iOS, Android, the web and desktop.

Try it live

TallyUI's CartPanel running in Expo Snack. Switch between the WooCommerce and Medusa connectors inside the demo.

Loads from snack.expo.dev.

Works with your store

Each backend has its own connector package. Medusa and Vendure each have a full POS app built on TallyUI.

WooCommerce

@tallyui/connector-woocommerce

WooCommerce REST API and the WCPOS API extension.

Medusa

@tallyui/connector-medusa

Medusa v2 through the Admin API.

Vendure

@tallyui/connector-vendure

Vendure through the GraphQL Admin API.

Install TallyUI 3.0.0

pnpm add @tallyui/core@3.0.0 @tallyui/database@3.0.0 \
  @tallyui/components@3.0.0 @tallyui/theme@3.0.0 \
  @tallyui/connector-medusa@3.0.0 rxdb@17.5.0 rxjs

Swap the connector for @tallyui/connector-woocommerce or @tallyui/connector-vendure. Keep every @tallyui package on the same version, and rxdb at exactly 17.5.0. The quick start walks through the rest.

What TallyUI gives you

Any Backend

WooCommerce, MedusaJS, Vendure, Shopify, and more through a pluggable connector system.

Local-First

Built on RxDB for offline-capable, reactive data that syncs when connected.

Cross-Platform

Powered by Expo. Ship to iOS, Android, Web, and Desktop from one codebase.