Loading
MobileProduction2026 to Present

Devli

Single-store pooja e-commerce app on Grocup

A React Native + Expo customer app for Devli, a pooja / ritual essentials store. It was migrated from a multi-store grocery+pharmacy MargERP marketplace into a single-seller Grocup experience: catalog, cart, OTP auth, orders, maps, voice search and deep links, with saffron/maroon Pooja branding for Android and iOS.

Role
Frontend & Mobile Engineer
Platforms
iOS · Android
Devli pooja store app showing home catalog, categories and cart in a saffron-branded mobile UI
iOS · Android · 2026 to Present
01

Context & role

Devli is the customer-facing mobile app for a single pooja store on Grocup (sellerId 6, www.devli.in / devli.grocup.com). Shoppers browse ritual essentials, add to cart, authenticate with phone OTP, set delivery location, and place orders for home delivery or store pickup.

The codebase started as a fork of a multi-store grocery + pharmacy marketplace (Paas Ki Dukaan / MargERP). The project was a full domain and API migration into a branded single-store Pooja app.

02

The problem

The source app assumed a marketplace: pincode → nearby stores, grocery vs pharmacy catalogs, prescriptions, dual carts, and MargERP-specific auth and banners. None of that matched Devli's model: one seller, one catalog, no Rx, Grocup headers (`origin` + `gc-customer-token`), and local cart state.

Shipping a store-ready app meant rewriting the API layer and stripping marketplace concepts without breaking checkout, deep links, or release builds.

03

Product & solution

  • Migrated the entire network layer from MargERP to Grocup (`api.grocup.com`): store details, categories, products, banners, sections, search, OTP login, addresses, and orders, with `origin: https://devli.grocup.com` and `gc-customer-token` on every authenticated call
  • Collapsed multi-store marketplace flows into a single-store entry: splash → home, store details cached on launch, pincode only where delivery needs it
  • Removed grocery/pharmacy/prescription surfaces; unified cart, product detail, categories, and home sections around a Pooja catalog
  • Rebranded the app as Devli (saffron/maroon theme, icons, scheme `devli://`, package `com.devli.grocup`) and simplified navigation to Home, Categories, Cart, Orders, Profile
  • Shipped commerce extras: wishlist, location picker + Google Maps, Razorpay checkout wiring, invoice preview, banner/section home layouts, brands and offer grids
  • Added voice search (expo-speech-recognition + Google Speech-to-Text), QR scanning, and deep links for `devli://`, `devli.grocup.com`, and `www.devli.in`
  • Built a custom Android Expo module for SMS User Consent OTP autofill, plus EAS profiles for development, preview APK, and production AAB
04

Engineering decisions

API contract mismatch. MargERP paths were store-scoped and split by grocery/pharma; Grocup is origin-scoped and unified. Every service had to be remapped without leaving dead endpoints or dual-cart assumptions in checkout.

Domain deletion without regressions. Pharmacy screens, Rx tags, store-list discovery, and section-based theming were woven through navigation and context. Removing them meant careful navigator cleanup so deep links and product stacks still worked.

Native friction on a shared Expo codebase. Location, camera/QR, speech recognition, Maps keys, network security config for `api.grocup.com`, and Play Services SMS consent all needed platform-correct wiring while keeping TypeScript app code shared.

05

Outcome

Devli ships as a single-store Pooja commerce app on Expo 57 / React Native, backed by Grocup, with production EAS Android builds (v1.0.1) and a live storefront at www.devli.in.

06

Visual showcase

Devli pooja store app showing home catalog, categories and cart in a saffron-branded mobile UI
iOS · Android · 2026 to Present

Product focus

  • MargERP → Grocup API migration
  • Single-store pooja commerce
  • Voice search & QR deep links
  • OTP auth with SMS user consent
07

Technologies

React Native · Expo · TypeScript · React Navigation · Axios · AsyncStorage · Grocup REST API · Razorpay · Google Maps · Google Cloud Speech-to-Text · expo-speech-recognition · expo-location · Native OTP SMS Consent · EAS Build