The whole system shipped as a single Lerna and Yarn Workspaces monorepo. The consumer side is a bare React Native app for iOS and Android; the back office is a Next.js admin; two GraphQL services sit behind them; and a set of shared internal packages (theme, utilities, Firebase, S3, Algolia) keep logic and types consistent across every surface. GraphQL codegen generated typed operations so the mobile app, the admin, and the backend all spoke the same contract.
The commerce model went well past a simple cart. The platform modelled sellers (onboarding, stats, payouts) and a franchise network (franchise areas, shareable franchise links, franchise payments and stats) as first-class systems, on top of the usual catalog, cart, checkout, wishlist, reviews, and a "Sunaulo Coin" loyalty layer. Accounts used OTP login, and push notifications ran through Firebase.
Discovery leaned on Algolia for both text and image-based product search, so a shopper could find items by typing or by photo. Checkout ran on eSewa and Khalti, the payment methods Nepali buyers actually use, with cash on delivery as a fallback. To keep the app current in the field, releases went out through CodePush over-the-air updates with Fastlane release lanes.