Built an end-to-end vending ecosystem combining an operations portal and a QR-based consumer app—streamlining machine management while enabling fast, contactless purchases.
The product serves two core audiences who needed a unified, real-time ecosystem to replace fragmented, manual workflows.
Operators (B2B): Manage vending machines, inventory, and performance
Consumers (B2C): Purchase items directly from machines via mobile
The existing experience lacked real-time visibility, had fragmented workflows, and created friction in the purchase journey.
No centralized system to monitor machine health or stock
Delayed response to downtime and low inventory
Traditional vending UX limited by physical interfaces
Missed revenue due to poor discoverability and payment friction
Design a connected system that serves both operators and consumers seamlessly.
Improves operational efficiency and real-time visibility
Enables seamless, mobile-first purchasing
Increases revenue through better conversion and uptime
"Operators lack real-time control over machine performance, while users face friction in discovering and purchasing products—resulting in lost revenue and poor experience on both sides."
End-to-end ownership across the entire product ecosystem—from initial research through final delivery.
Led product design across web portal + mobile app
Drove research, UX strategy, and system design
Collaborated with product, engineering, and business teams
Defined UX metrics and success benchmarks
Understanding both operator workflows and consumer behaviour was crucial to designing an effective connected system.
Reactive Operations → Lost Revenue. Operators only discovered issues after machines stopped generating sales. No early warning system existed.
Inventory Blind Spots. No real-time stock visibility led to frequent out-of-stock scenarios and lost sales opportunities.
Friction in Purchase Flow. Physical UI + multiple payment steps caused drop-offs, especially among mobile-first younger users.
Lack of Data Utilization. Sales data existed but wasn't actionable, centralized, or surfaced to decision-makers in time.
"Operators lack real-time control over machine performance, while users face friction in discovering and purchasing products—resulting in lost revenue and poor experience on both sides."
I designed a two-part system serving both B2B operators and B2C consumers through a unified data layer.
A centralized dashboard to manage all vending machines across all locations.
Downtime and low-stock notifications for proactive action before revenue is impacted.
Track stock levels across all machines and optimize replenishment routes.
Monitor performance across machines and locations with glanceable charts.
Access app user data and behavior trends to inform product decisions.
A frictionless mobile purchase experience that eliminates hardware dependency.
Each machine has a unique QR code → instantly loads live inventory with zero friction.
Browse products with clear pricing, availability indicators, and rich visuals.
1-tap UPI/Wallet checkout eliminates physical interaction entirely.
Reduced cognitive load vs traditional vending UI. From 5+ steps → 2–3 steps.
Designed alert systems that surface issues before revenue is impacted. Operators receive notifications proactively—not reactively after a machine goes down.
Moved the purchase experience from machine UI to mobile, enabling:
Ensured both operator portal and consumer app are connected through live data sync. A stock change or machine fault is reflected instantly across both surfaces.
Identified the most repeated tasks and reduced their friction to the minimum:
A comprehensive set of UX artifacts demonstrating the depth of research, strategy, and craft behind the ecosystem.
Removed machine interaction dependency
Reduced steps from 5+ → 2–3
Enabled zero onboarding purchase
⚠ Hours to resolve · Reactive system
✅ Minutes to resolve · Proactive system
A. Operator Dashboard
B. Consumer App
Select a product
B. Before vs After KPIs
| Metric | Before | After |
|---|---|---|
| Conversion Rate | ~45% | 65–75% |
| Downtime Response | Hours | Minutes |
| Stock Availability | 60–65% | 85–90% |
| Purchase Time | ~2 mins | < 45 sec |
A. Visual Progress
Cluttered machine UI with limited visibility
Limited product display — text only, no images
Slow, multi-button navigation on small screen
Cash-only or cumbersome card reader payment
No purchase history or loyalty mechanism
Mobile-first experience on user's own device
Visual product grid with images, ratings & stock status
Instant navigation with thumb-friendly layout
1-tap UPI / Wallet payment in under 5 seconds
Purchase history, offers, and repeat-buy shortcuts
Instant loading animation with machine name and location appearing as the inventory loads—zero dead time.
"Dispensing…" animated feedback with a progress indicator keeps users informed and confident post-payment.
Subtle urgency cue on near-empty products—pulsing dot + reduced opacity—without being alarming.
Conversion Rate Increase
Downtime Response Time
Stock Efficiency Improvement
Downtime response reduced from hours → minutes (↓ 40–50%)
Manual monitoring replaced with real-time alerts across all machines
Out-of-stock instances reduced by 30–35%
Improved replenishment planning using sales insights
Purchase flow reduced from 5+ steps → 2–3 steps
Conversion rate increased by 25–35%
Faster checkout led to higher repeat usage
Increased revenue per machine through improved uptime
Scalable system ready for multi-location expansion