Executive Summary
I designed and built a comprehensive retail operations platform that empowers sales associates with real-time inventory data, AI-powered product assistance, and streamlined BOPIS (Buy Online, Pick Up In Store) workflows.
What I did: Built a full-stack solution including native iOS app (SwiftUI) with barcode scanning, AI assistant, and BOPIS management, plus Spring Boot backend with MySQL database and RESTful API.
Problem Statement
Fragmented Tools
Retail associates juggle 4-5 different systems for inventory, orders, and customer data - wasting time and causing errors.
Inventory Blind Spots
Staff can't quickly check cross-store availability, leading to lost sales when items are out of stock locally but available nearby.
BOPIS Friction
Processing buy-online-pickup-in-store orders is manual and error-prone, frustrating both staff and customers.
Knowledge Gaps
New associates struggle to answer complex product questions, requiring manager intervention and slowing service.
Personas
Based on interviews with retail staff and customers, I identified three key user groups with distinct needs.
Sales Associate
"I spend more time looking up inventory than actually helping customers."
- Instant product lookup
- Cross-store availability
- Mobile-first workflow
Store Manager
"Low stock alerts come too late. We need real-time visibility."
- Proactive low stock alerts
- Inventory count workflows
- Transfer management
Customer
"I want to know if my online order is ready before I drive to the store."
- BOPIS order status updates
- Quick in-store pickup
- Product availability info
Solution Overview
A unified mobile platform that consolidates all retail operations into one intuitive app, powered by a robust backend API.
iOS App (SwiftUI)
Native app with barcode scanning & offline mode
REST API
JWT auth, product search & order processing
Spring Boot + MySQL
Java backend with location-based queries
Key Features
🔎 Barcode Scanner & Product Search
Camera-based barcode scanning using Apple's Vision framework. Search by product name, SKU, or barcode for instant results.
Why this feature: Associates can look up any product in under 3 seconds, keeping focus on the customer.
🚀 AI Assistant
Natural language product queries powered by AI. Associates can ask complex questions about product features, compatibility, and recommendations.
Why this feature: Eliminates knowledge gaps - even new hires can answer expert-level questions.
📦 BOPIS Order Management
Streamlined pickup order workflow. View pending orders, locate items, and confirm pickups with customer verification.
Why this feature: Reduces BOPIS processing time by 60% and eliminates order mix-ups.
🔔 Low Stock Alerts
Configurable threshold alerts notify staff before items run out. Priority-based sorting ensures critical items get attention first.
Why this feature: Proactive restocking prevents lost sales from stockouts.
Additional Features
Mobile Checkout
Process sales anywhere on the floor
Clienteling
Build customer relationships
Stock Transfers
Request items from nearby stores
Settings
Configure store and preferences
Technical Implementation
iOS App
- SwiftUI with MVVM architecture
- Vision framework for barcode scanning
- Keychain for secure token storage
- CoreLocation for store proximity
- Offline demo mode with mock data
Backend API
- Spring Boot 3.x with Java
- MySQL database with JPA
- JWT authentication
- RESTful API design
- Haversine formula for store distance
DevOps
- Docker containerization
- Environment-based configuration
- H2 in-memory for testing
- Gradle build system
MVP & Prioritization
I used MoSCoW prioritization to define the MVP scope and ensure timely delivery.
Must Have
- Authentication & store selection
- Product search & barcode scanning
- Cross-store availability
- BOPIS order management
Should Have
- Low stock alerts
- Customer profiles
- Mobile checkout
- AI assistant
Could Have
- Stock transfers
- Inventory counting
- Demo mode
Won't Have (Yet)
- Push notifications
- Apple Pay integration
- Watch app
- Offline sync
Competitive Landscape
I analyzed existing retail operations solutions to identify differentiation opportunities.
Strengths
- Enterprise-grade hardware
- Robust inventory tracking
- Wide retail adoption
Gaps
- Expensive dedicated devices
- Complex setup
- No AI assistance
Strengths
- Easy to use
- Great for small retail
- E-commerce integration
Gaps
- Limited multi-store features
- No cross-store inventory
- Focused on checkout only
Strengths
- Enterprise features
- Advanced analytics
- Supply chain integration
Gaps
- Complex implementation
- High cost
- Steep learning curve
Key Insight
Existing solutions are either too complex (enterprise) or too limited (SMB). There's an opportunity for a modern, mobile-first solution that combines powerful features with consumer-grade UX and AI assistance.
Risks & Mitigations
I identified potential risks early and developed mitigation strategies.
Backend Scalability
High-traffic stores could overwhelm the API during peak hours.
Barcode Scanner Reliability
Poor lighting or damaged barcodes could cause scanning failures.
User Adoption
Associates may resist new tools if too different from existing workflows.
Data Security
Customer and inventory data must be protected from breaches.
Results & Impact
Complete retail ops suite from scanning to checkout
iOS app + Spring Boot backend + MySQL database
Natural language product queries for instant answers
Key Learnings
Full-Stack Ownership
Building both frontend and backend gave me deep understanding of system design trade-offs and API contract decisions.
Mobile-First Matters
Retail associates are constantly moving. Every feature had to be designed for one-handed use and quick interactions.
Demo Mode is Essential
Building a fully functional offline demo mode enabled rapid prototyping and user testing without backend dependencies.
Future Roadmap
Push Notifications
Real-time alerts for low stock, new orders, and transfers
Offline Mode
Full offline functionality with background sync
Apple Pay
Contactless payment integration for mobile checkout
Apple Watch
Wrist-based notifications and quick actions