import { Badge } from "@/components/ui/badge"; import { Card, CardContent } from "@/components/ui/card"; import { motion } from "framer-motion"; import { Activity, ArrowLeft, ArrowRight, Bell, Brain, Calendar, CheckCircle, Cloud, Code, Database, ExternalLink, Globe, Home, Layers, List, Mic, Monitor, Palette, RefreshCw, Scan, Server, Share2, ShoppingCart, Smartphone, Star, Target, Users, Wrench, Zap } from "lucide-react"; import { GridPattern } from "../components/GridPattern"; import { ImageWithFallback } from "../components/figma/ImageWithFallback"; import { Button } from "../components/ui/button"; import ranoutofLogo from "../src/images/ranoutof-logo.webp"; import { useNavigate } from "react-router-dom"; // Technology to icon mapping const getTechIcon = (tech: string) => { const techIconMap: { [key: string]: React.ReactNode } = { "React Native": , "Laravel": , "Node.js": , "MySQL": , "Firebase": , "PHP": , "JavaScript": , "TypeScript": , "REST API": , "WebSocket": , "Redux": , "PWA": }; return techIconMap[tech] || ; }; const projectDetails = { title: "RanOutOf – Simplify Grocery Planning with AI-Powered Lists", subtitle: "A voice-enabled, reminder-rich, and collaborative grocery management app designed to simplify household planning and eliminate stockouts", technologies: ["React Native", "Node.js", "MySQL", "AWS"], industries: ["Consumer Tech", "Retail Technology", "Productivity"], duration: "15 weeks, October 2024 – January 2025", teamSize: "4 developers, 2 designers, 1 QA, 1 PM", platforms: ["Android", "iOS", "Admin Web Portal"] }; const keyAchievements = [ { label: "Product Categories", value: "200+", description: "Over 25,000 items available" }, { label: "List Sharing", value: "100%", description: "Real-time collaboration" }, { label: "Smart Alerts", value: "24/7", description: "Expiry and restock reminders" } ]; const businessObjectives = [ "Build a grocery app with voice, barcode, and manual list entry", "Provide household inventory and restocking reminders", "Enable collaboration among users for shared lists", "Design a modern, intuitive UI with reminders and category tagging" ]; const coreFeatures = [ { title: "Smart List Builder", description: "Add items via typing, voice commands, or barcode scanning with auto-suggestions", icon: }, { title: "Inventory Tracking", description: "Track home inventory, expiry dates, and get automated restocking alerts", icon: }, { title: "Real-time Collaboration", description: "Share lists with family members and sync updates instantly across devices", icon: }, { title: "Voice Integration", description: "Add items hands-free with voice commands and smart speech recognition", icon: }, { title: "Barcode Scanner", description: "Scan product barcodes for instant item recognition and inventory management", icon: }, { title: "Smart Notifications", description: "Intelligent reminders for expiring items and customizable notification settings", icon: } ]; const technicalChallenges = [ { title: "Multi-Input Integration", description: "Creating seamless integration between voice, barcode, and manual input methods", icon: }, { title: "Real-time Synchronization", description: "Ensuring instant list sharing and updates across multiple family members", icon: }, { title: "Inventory Intelligence", description: "Building smart expiration tracking and predictive restocking algorithms", icon: }, { title: "Cross-platform Consistency", description: "Maintaining identical user experience across iOS, Android, and web admin", icon: } ]; const developmentPhases = [ { phase: "Research & Planning", duration: "4 weeks", description: "User research, market analysis, feature prioritization, and technical architecture", icon: }, { phase: "UI/UX Design", duration: "2 weeks", description: "User interface design, prototyping, and user experience optimization", icon: }, { phase: "Core Development", duration: "6 weeks", description: "Mobile app development, authentication, list builder, and basic inventory", icon: }, { phase: "Advanced Features", duration: "2 weeks", description: "Voice integration, barcode scanning, collaboration features, and notifications", icon: }, { phase: "Testing & QA", duration: "1 week", description: "Comprehensive testing, bug fixes, and performance optimization", icon: } ]; const resultsMetrics = [ { label: "Load Time", value: "<1.5s", description: "95% of screens load quickly" }, { label: "Crash-free Sessions", value: "99.9%", description: "Industry-leading stability" }, { label: "Feature Adoption", value: "70%", description: "Users adopt recurring lists" }, { label: "User Satisfaction", value: "4.8/5", description: "Average app store rating" }, { label: "Daily Active Users", value: "85%", description: "Strong user engagement" }, { label: "Inventory Accuracy", value: "92%", description: "Smart tracking precision" } ]; const technicalAchievements = [ "Voice recognition with 95% accuracy across multiple languages", "Real-time synchronization with conflict resolution algorithms", "Smart inventory prediction based on consumption patterns", "Seamless barcode integration with 200+ product categories" ]; const lessonsLearned = { worked: [ "User testing with real families improved collaboration features significantly", "Voice input prototyping early helped refine speech recognition accuracy", "Modular architecture enabled rapid feature additions and updates" ], improve: [ "Notification frequency personalization needed earlier implementation", "Barcode database integration required more comprehensive planning", "Family onboarding flow could benefit from interactive tutorials" ] }; const futureRoadmap = [ { phase: "Phase 2", features: ["AI-powered shopping list suggestions", "Store discount tracking integration", "Recipe-based automatic list generation"] }, { phase: "Phase 3", features: ["Voice command grocery planning with smart assistants", "Household budget tracking and spend reports", "Integration with grocery delivery and eCommerce platforms"] } ]; export const RanOutOfProject = () => { const navigate = useNavigate(); return (
{/* */} {/* Section 1: Hero with Heading, Subheading, and Image */}
{/* Back Button */}
{/* Content - Left Aligned */}
Case Study

{projectDetails.title}

{projectDetails.subtitle}

{/* Project Image */}
{/* Section 2: Project Details */}
{/* Background Elements */}
{/* Section Header */}

Project Details

RanOutOf is a smart, AI-powered grocery management app designed for households, featuring voice input, reminders, and collaborative list sharing. This case study highlights WDI’s expertise in crafting an intuitive, family-friendly solution that simplifies grocery planning and boosts efficiency.

{/* Project Meta Information Grid */} {/* Technologies & Industries Card */}
{/* Technologies */}

Technologies

{projectDetails.technologies.map((tech) => ( {getTechIcon(tech)} {tech} ))}
{/* Industries */}

Industries

{projectDetails.industries.map((industry) => ( {industry} ))}
{/* Timeline & Team Card */}
{/* Duration */}

Project Timeline

{projectDetails.duration}

{/* Team */}

Team Composition

{projectDetails.teamSize}

{/* Platforms */}

Target Platforms

{projectDetails.platforms.map((platform) => ( {platform} ))}
{/* Key Achievements Section */}

Key Impact & Results

Measurable outcomes that demonstrate RanOutOf's success in transforming household grocery management

{keyAchievements.map((achievement, index) => ( {/* Card Background Gradient */}
{/* Content */}
{/* Value */}
{achievement.value}
{/* Label */}
{achievement.label}
{/* Description */}
{achievement.description}
{/* Hover Effect Line */}
))}
{/* Executive Summary */}

Executive Summary

RanOutOf is a mobile-first app designed to help modern households simplify grocery shopping and stay organized. The app streamlines list creation, supports collaborative household planning, and efficiently manages pantry inventory with features like reminders, barcode scanning, and smart grouping. By helping users maintain control over their groceries, RanOutOf reduces the risk of stockouts and minimizes food waste, making everyday shopping easier and more efficient.

{/* Project Overview */}

Project Overview

{/* Background & Context */} {/* Glassmorphism Icon Container */}

Background & Context

Frequent grocery stockouts, duplicate purchases, and poor inventory tracking are common problems for busy families. RanOutOf addresses this by digitizing list-building, enabling collaboration, and automatically reminding users about restocking needs.

{/* Target Audience */} {/* Glassmorphism Icon Container */}

Target Audience

Tech-savvy individuals and families (age 15–65) who want to simplify their grocery management and improve household planning through mobile convenience.

{/* Business Objectives */} {/* Glassmorphism Icon Container */}

Business Objectives

{businessObjectives.map((objective, index) => (
{objective}
))}
{/* Core Features */}

Core Features & Functionality

A comprehensive suite of tools designed to revolutionize household grocery management with smart automation and collaboration.

{coreFeatures.map((feature, index) => (
{feature.icon}

{feature.title}

{feature.description}

))}
{/* Challenges & Solution Architecture */}
{/* Challenges */}

Challenges & Constraints

{technicalChallenges.map((challenge, index) => (
{challenge.icon}

{challenge.title}

{challenge.description}

))}
{/* Solution Architecture */}

Solution Architecture

Technology Stack

Frontend: React Native
Backend: Node.js
Database: MySQL
Cloud: AWS

Key Highlights

Voice recognition with multi-language support
Real-time synchronization with conflict resolution
Smart inventory tracking with expiry prediction
Comprehensive admin panel for content management
{/* Development Process */}

Development Process & Methodology

RanOutOf follows an Agile development approach with milestone-based delivery. This ensures timely completion while maintaining high quality through iterative progress and continuous feedback.

{developmentPhases.map((phase, index) => (
{phase.icon}

{phase.phase}

{phase.duration}

{phase.description}

{/* Connector Line */} {index < developmentPhases.length - 1 && (
)} ))}
{/* Results & Impact */}

Results & Impact

RanOutOf delivers comprehensive performance metrics showcasing its success in transforming household grocery management. Key indicators include improved inventory accuracy, reduced stockouts, increased shared list usage, and measurable reductions in food waste, demonstrating real value to users.

{resultsMetrics.map((metric, index) => (
{metric.value}
{metric.label}
{metric.description}
))}

Technical Achievements

{technicalAchievements.map((achievement, index) => (
{achievement}
))}
{/* Lessons Learned */}

Lessons Learned

Key insights and learnings from the RanOutOf development journey.

{/* What Worked */}

What Worked Well

{lessonsLearned.worked.map((lesson, index) => (
{lesson}
))}
{/* What Could Improve */}

Areas for Improvement

{lessonsLearned.improve.map((lesson, index) => (
{lesson}
))}
{/* Future Roadmap */}

Future Roadmap

Planned enhancements and features to further revolutionize grocery management apps.

{futureRoadmap.map((roadmap, index) => (

{roadmap.phase}

{roadmap.features.map((feature, featureIndex) => (
{feature}
))}
))}
{/* Client Testimonial */}
{[...Array(5)].map((_, i) => ( ))}
"WDI delivered a clean, powerful solution that has made grocery planning easier than ever. The list templates, reminders, and inventory alerts are game-changers for our users."
Rishabh Jain
Director, Global Ease Solutions Pty. Ltd.
{/* CTA Section */}

Want to build a smart, collaborative lifestyle app?

Partner with WDI to design solutions that streamline daily life with precision tech and intuitive design.

{/*
*/}
); };