BUILD · 0062026mobileIN PROGRESS
Native POS for Android and iOS

TengaiPOSReactNativeMobileApp

Native Android/iOS POS app with near feature-parity to the PWA and full native device integration.

An Expo-based React Native application that brings the full Tengai POS experience to native Android and iOS. Built for feature-parity with the PWA while leveraging native capabilities — secure credential storage, haptic feedback, camera-based barcode scanning, native print/share, and platform-optimized navigation patterns.

ROLE
Lead engineer
TIMELINE
3 MO
TEAM
1
STATUS
IN PROGRESS

Problem

While the PWA covers most use cases, some businesses and deployment scenarios require a true native app — for app-store distribution, deeper device integration, or environments where browser-based POS isn't practical. The native client needed to deliver the same compliance workflows and feature depth as the PWA without duplicating the entire codebase from scratch.

Approach

The app is built on Expo SDK 54 with Expo Router for file-based routing, using a shared API contract with the backend so both clients exercise the same endpoints and business logic.

Navigation Architecture

Expo Router's route-group architecture cleanly separates the app into:

  • (auth)/ — login, registration, welcome, terminal selection, subscription hold
  • (app)/ — the main POS shell with bottom-tab navigation (home, sales, history, manage, settings)
  • (ops)/ — ops admin dashboard and organization detail screens

A hydration gate at the root layout checks persisted auth state via expo-secure-store before rendering, preventing flash-of-unauthenticated-content on cold start.

Native Capabilities

  • Expo Camera for barcode scanning during sales
  • Expo Secure Store for encrypted token and session persistence
  • Expo Print and Expo Sharing for native receipt output
  • Expo Haptics for tactile feedback on key interactions
  • Expo Image Picker for logo uploads in receipt customization

Shared Patterns

The app mirrors the PWA's state management approach:

  • Zustand stores with AsyncStorage/SecureStore persistence for auth, cart, and preferences
  • TanStack Query for data fetching with caching and background sync
  • Zod schemas for runtime validation
  • Socket.IO for real-time cross-terminal updates
  • i18next for English/Chichewa localization

Feature Parity

Every major workflow from the PWA is implemented:

  • Full sales flow with cart, quick-tap, VAT5 lookup, payment methods, and receipt modal
  • Transaction history with offline retry and expired receipt recreation
  • Shift open/close/report
  • Manage hub with users, products, stock operations, raw materials, VAT5 certificates, reorder alerts, and terminal management
  • Settings with MRA diagnostics, config refresh, and receipt template customization
  • Ops dashboard with organization stats and subscription management

Outcome

The native app extends Tengai POS's reach to app-store distribution channels and use cases requiring deeper device integration. By sharing the API contract and state management patterns with the PWA, the team maintains near feature-parity across platforms without diverging codebases. The app is in active development and stabilization alongside the PWA ahead of production deployment.