ProjectR Docs
Getting Started

Getting Started

Start here: environment setup, repo mechanics, and the rules that keep all three packages working together.

ProjectR is the loyalty and e-commerce platform behind THERAW, a Malaysian skincare and beauty brand (tipeer.com). Customers shop through a mobile app and earn loyalty rewards; staff operate everything through an admin dashboard. The whole platform runs against a single Shopify store.

The three packages

PathWhat it isDeploys via
apps/mobileExpo SDK 58 customer app (routing, cart, checkout, loyalty)EAS Build / EAS Update
apps/dashboardNext.js 16 (App Router) admin panelVercel, project root apps/dashboard
packages/backendConvex backend — single source of truth for schema and API typesbun run deploy:staging / deploy:prod

The backend is the center of gravity: both apps import Convex types straight from backend source, so a schema change re-types both apps immediately (see The Type Contract).

What the platform does

  • Loyalty: stamp-card campaigns earned on order subtotal, vouchers backed by real Shopify discount codes, and shake-to-win rewards at special stamp positions. Points and tiers were removed on 2026-10-16.
  • Commerce: Shopify catalog mirroring, cart sync, checkout via Shopify Storefront API + native checkout sheet, order history.
  • Content & marketing: home carousels, marketing campaigns, seasonal QR voucher campaigns ("Duit Raya"), product reviews with moderation, a beauty-profile quiz, and AI skin scan.

On this page