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 { navigateTo } from "../App";
import { Footer } from "../components/Footer";
import { GridPattern } from "../components/GridPattern";
import { Navigation } from "../components/Navigation";
import { ImageWithFallback } from "../components/figma/ImageWithFallback";
import { Button } from "../components/ui/button";
import ranoutofLogo from "../src/images/ranoutof-logo.webp";
// 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 – Smart Grocery List & Inventory Management App",
subtitle: "A voice-enabled, reminder-rich, and collaborative grocery management app designed to simplify household planning and eliminate stockouts",
technologies: ["React Native", "Laravel", "Node.js", "MySQL", "Firebase"],
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: "Comprehensive grocery taxonomy" },
{ label: "List Sharing", value: "100%", description: "Real-time collaborative features" },
{ label: "Smart Alerts", value: "24/7", description: "Inventory expiry 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 services"]
}
];
export const RanOutOfProject = () => {
return (
{/* Section 1: Hero with Heading, Subheading, and Image */}
{/* Back Button */}
navigateTo('/case-studies')}
className="text-muted-foreground hover:text-foreground flex items-center gap-2 px-0 hover:bg-transparent"
>
Back to Portfolio
{/* Content - Left Aligned */}
Case Study
{projectDetails.title}
{projectDetails.subtitle}
{/* Project Image */}
{/* Section 2: Project Details */}
{/* Background Elements */}
{/* Section Header */}
Project Details
Comprehensive overview of technologies, timeline, and key achievements that revolutionized household grocery management
{/* Project Meta Information Grid */}
{/* Technologies & Industries Card */}
{/* Technologies */}
{projectDetails.technologies.map((tech) => (
{getTechIcon(tech)}
{tech}
))}
{/* Industries */}
{projectDetails.industries.map((industry) => (
{industry}
))}
{/* Timeline & Team Card */}
{/* Duration */}
{projectDetails.duration}
{/* Team */}
{projectDetails.teamSize}
{/* 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 solution tailored for modern households that frequently forget or mismanage their grocery shopping. The app simplifies list-making, enables shared household planning, and manages pantry inventory using reminders, barcodes, and smart grouping features to eliminate stockouts and reduce food waste.
{/* 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 25–45) who want to simplify their grocery management and improve household planning through mobile convenience and collaborative features.
{/* 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: Laravel & Node.js
Database: MySQL
Cloud: Firebase Services
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
Agile development approach with milestone-based delivery ensuring quality and timely completion.
{developmentPhases.map((phase, index) => (
{phase.icon}
{phase.phase}
{phase.duration}
{phase.description}
{/* Connector Line */}
{index < developmentPhases.length - 1 && (
)}
))}
{/* Results & Impact */}
Results & Impact
Comprehensive performance metrics demonstrating RanOutOf's success in transforming household grocery management.
{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) => (
))}
{/* What Could Improve */}
Areas for Improvement
{lessonsLearned.improve.map((lesson, index) => (
))}
{/* Future Roadmap */}
Future Roadmap
Planned enhancements and features to further revolutionize grocery management.
{futureRoadmap.map((roadmap, index) => (
{roadmap.phase}
{roadmap.features.map((feature, featureIndex) => (
))}
))}
{/* 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.
navigateTo('/contact-us')}
className="bg-accent hover:bg-accent/90 text-accent-foreground"
>
Contact Us
navigateTo('/case-studies')}
className="border-accent/30 text-accent hover:bg-accent/10"
>
View More Case Studies
);
};