E-commerce · IOT Vending Platform
StackD
IoT-connected smart vending platform with multi-modal cashless payments, corporate wallet management, real-time machine.
The brief
Build and extend a smart vending platform (StackD) that enables cashless vending transactions via multiple payment modes, connects physical vending machines to a backend via IoT, and provides operational tooling for admins, refill teams, and corporate clients — with a focus on launching the corporate wallet feature, stabilizing production, and integrating Zoho ERP.
What we built
A full-stack smart vending platform spanning 4 frontend surfaces (PWA, React backoffice, TouchScreen kiosk app, Android M2 Refill app) and a Node.js backend with IoT (MQTT) machine communication. Core capabilities include: multi-mode cashless payments (QR static/dynamic via PayU & Paytm, RFID, UPI, wallet), a corporate wallet system with RBAC, cron-based auto-refill, spending limits, and company wallet rails, warehouse-to-machine inventory management with batch/expiry tracking, a promotions engine (BOGO, combo, percentage, flat discounts), Zoho Books/Inventory ERP bidirectional sync with GST compliance, multi-tenant RBAC for super-admin/admin/client/refill-team/end-user, real-time reporting dashboards with read replica optimization, and a tuck-shop retail sub-module. Both iOS (App Store) and Android (Play Store) native apps were deployed.
Key deliverables
Current scope is the SOW as per the AMC. We need to deliver tasks as per the document shared by the client.
Production-deployed platform with: iOS app on App Store, Android app on Play Store, M2 Refill app on Play Store, PWA live for end-customers, React backoffice live for admins, MQTT-connected vending machines in production (e.g., Gurgaon machine M0078), Zoho Books/Inventory sync active, corporate wallet feature live with real client data (ICAI onboarded), Paytm static/dynamic QR payment live, and multi-role access control active across all surfaces.
Delivery timeline
How it was built, phase by phase.
8 workstreams across 44 weeks of operated delivery.
- buildWeeks 1–20 (Jul–Nov 2025)
Corporate Wallet & Company Wallet System
End-to-end corporate wallet infrastructure enabling companies to fund employee wallets, set spending limits, support cron-based auto-refill, handle refunds.
Live corporate wallet feature enabling B2B clients to fund and manage employee vending spend with daily/monthly limits, order history.
Node.jsReact.jsAndroidiOSPostgreSQLMQTT - buildWeeks 1–48 (Jul 2025–May 2026)
Multi-Platform Frontend (PWA, Admin Backoffice, TS App, M2 Refill App)
Four distinct frontend surfaces: PWA for end-customers (product browsing, cart, payment, wallet, order history), React backoffice for admins (RBAC dashboard, reports, wallet management, Zoho UI).
Four production-deployed surfaces covering all user personas in the vending ecosystem
React.jsAndroidiOSPWANode.jsApp Store Connect - buildWeeks 2–12 (Jul–Sep 2025)
Role-Based Access Control (RBAC) & Multi-Tenant Architecture
Hierarchical RBAC system supporting super-admin, admin, wallet client, refill team (shopkeeper, tuck-shop roles), and end-customer roles.
Fully role-gated platform supporting super-admin through end-customer with tenant-isolated data and UI
Node.jsReact.jsJWTPostgreSQL - buildWeeks 2–48 (Jul 2025–May 2026)
Inventory, Warehouse & Refill Management
End-to-end stock lifecycle from warehouse to vending machine: sub-warehouse creation, stock inward, AVM refill tracking, batch/expiry management, refill history audit trail.
Operational inventory system with warehouse-to-machine traceability, field refill app on Play Store, and audit trail per machine/operator
AndroidNode.jsReact.jsGoogle Play StoreQR Scanner - integrateWeeks 4–22 (Aug–Dec 2025)
Multi-Mode Payment Integration (QR, RFID, UPI, PayU, Paytm)
Integration of multiple cashless payment modes including static and dynamic QR codes via PayU and Paytm, RFID card authentication, UPI payments, and SSE-based real-time payment status updates.
Production-deployed multi-modal payment system covering QR (static/dynamic), RFID, UPI, and wallet rails across TS app, PWA, Android, and iOS
PayUPaytmRFIDUPISSENode.js - integrateWeeks 4–47 (Aug 2025–Apr 2026)
IoT Machine Communication via MQTT
Real-time communication layer between vending machines and backend using MQTT publish/subscribe protocol.
Stable IoT backbone enabling real-time machine control, offline alerting, and dispense command delivery at production scale
MQTTNode.jsIoT brokerEC2SSE - integrateWeeks 10–22 (Sep–Dec 2025), resumed Apr 2026
Zoho Books & Inventory ERP Integration
Bidirectional sync between StackD platform and Zoho Books/Inventory for product (item) management, vendor/client management, sales orders, purchase orders, branch management, invoicing, and CSV export.
StackD operations fully mirrored in Zoho Books/Inventory for accounting, procurement, and GST-compliant invoicing
Zoho BooksZoho InventoryNode.jsReact.jsOAuth2CSV - buildWeeks 20–24 (Nov–Dec 2025)
Promotions, Offers & Loyalty Engine
Configurable promotional engine supporting BOGO (buy one get one), percentage discounts, flat rupee discounts, combo offers, and quantity-threshold offers.
Live promotional engine with BOGO, combo, flat, and percentage discount types tested across all client-facing surfaces
AndroidiOSReact.jsNode.js
More case studies
Related work
09 · Run a function
Stop renting hours. Start running functions.
Pick the function you want off your plate. We'll map the brain and name the outcome we'd commit to — before you do.
