Fridge Raid
Turn your ingredients into delicious meals
Never wonder what to cook again. Enter your ingredients, discover recipes ranked by what you already have, and manage your shopping list — all in one app.
Download on the App StoreSee It In Action
Written Proposal
The Problem
People often have ingredients sitting in their fridge but have no idea what to make with them. Cookbooks gather dust on the shelf because cross-referencing available ingredients against hundreds of recipes is tedious and time-consuming. Existing recipe apps approach the problem backwards: they show you a recipe first, then send you shopping for a long list of ingredients you don't have.
The result is wasted food, wasted money, and the nightly frustration of staring into a well-stocked fridge with nothing to cook. There is a clear gap in the market for a tool that flips the traditional recipe search on its head — starting with what you already have and showing you what you can make right now.
Target Audience
- ●Home cooks of all skill levels — from beginners who need guidance to experienced cooks looking for new inspiration with ingredients on hand.
- ●Budget-conscious households — individuals and families who want to reduce food waste and make the most of what they already have before buying more groceries.
- ●Busy professionals and students — people who need quick meal ideas without the overhead of meal-planning from scratch every night.
- ●Recipe collectors — users who clip recipes from magazines, websites, and social media and want a single place to import, organize, and cook from their collection.
Monetization Strategy
Fridge Raid uses a freemium subscription model powered by RevenueCat for subscription management across iOS.
Free Tier
- ✓Browse and search 500 hand-refined recipes
- ✓Fridge ingredient management and smart suggestions
- ✓Personal cookbook with favorites and cook history
- ✓Auto-generated shopping lists with quantities
- ✓Unit conversion (metric / imperial / original)
- ✓Manual recipe entry
Premium
$4.99/moEverything in Free, plus:
- ★Scan recipes from photos using AI-powered OCR
- ★Import recipes from any URL automatically
- ★Exclusive rotating sponsored chef recipes
The free tier provides a full-featured cooking companion that drives organic growth and retention, while the premium tier monetizes power users who want AI-powered convenience features. RevenueCat handles subscription lifecycle, receipt validation, and cross-device restoration.
Technical Documentation
Tech Stack
| Layer | Technology |
|---|---|
| Framework | React Native 0.81 + Expo SDK 54 |
| Language | TypeScript 5.9 |
| Navigation | Expo Router (file-based routing with tabs) |
| Local Storage | AsyncStorage |
| Monetization | RevenueCat (react-native-purchases v9 + react-native-purchases-ui v9) |
| AI / LLM | Amazon Bedrock — Nova Pro v1 (recipe OCR and URL parsing) |
| OCR | AWS Textract (image text extraction) |
| Camera | expo-camera + expo-image-picker |
| Animations | react-native-reanimated |
Architecture
fridge-raid/
├── app/ # Expo Router screens (tab-based)
│ ├── _layout.tsx # Root layout, RevenueCat provider
│ ├── index.tsx # Home — recipe search & discovery
│ ├── fridge.tsx # Fridge ingredient management
│ ├── collection.tsx # Suggested recipes based on fridge
│ ├── cookbook.tsx # Saved recipes, OCR/URL import
│ └── settings.tsx # Preferences, unit system, subs
├── components/ # Reusable UI components
│ ├── RecipeCard.tsx # Compact recipe preview card
│ ├── RecipeDetailModal.tsx # Full recipe view
│ ├── RecipeScannerModal.tsx # Camera/gallery OCR import
│ ├── UrlImportModal.tsx # URL-based recipe import
│ └── OnboardingModal.tsx # First-launch walkthrough
├── lib/
│ ├── storage.ts # AsyncStorage CRUD layer
│ ├── ingredientMatcher.ts # Fuzzy matching with alt names
│ ├── unitConversion.ts # Metric/imperial conversion
│ ├── revenueCat.tsx # RevenueCat context provider
│ ├── ocr/
│ │ ├── recipeFormatter.ts # LLM prompts for parsing
│ │ ├── recipeParser.ts # Structured data extraction
│ │ ├── ocrService.ts # AWS Textract integration
│ │ └── urlFetcher.ts # Web page fetching
│ └── data/
│ ├── recipes.ts # 500 hand-refined recipes
│ ├── ingredients.ts # Ingredient catalog
│ └── unitConversions.ts # Conversion tables
└── types/
└── recipe.ts # Core type definitionsData Architecture
Application Data (read-only, bundled)
- 500 hand-refined recipes across 20 cuisines
- Ingredient catalog with alternative names
- Cookware types and unit conversion tables
User Data (AsyncStorage)
- Fridge contents (IDs + metadata)
- Cookbook (saved recipes + notes + ratings)
- Custom imported recipes and ingredients
- Settings (unit system, onboarding state)
Key Design Decisions
- 1.Hybrid Reference Model — User data stores IDs referencing master data, plus user-specific metadata. Single source of truth with personalization overlay.
- 2.Automatic Data Refresh — Master data reloads on every app start to ensure latest content, while preserving all user data.
- 3.Reactive State Management — Direct state updates without full page reloads preserve scroll position and provide instant feedback.
- 4.LLM-Powered Import Pipeline — OCR images go through AWS Textract for text extraction, then Amazon Bedrock Nova Pro for structured recipe parsing. URL imports fetch page content and pass through the same LLM formatting step.
RevenueCat Implementation
RevenueCat powers the premium subscription tier in Fridge Raid, gating AI-powered recipe import features behind a paywall while keeping the core cooking experience free.
Integration Details
- SDK: react-native-purchases v9 + react-native-purchases-ui v9
- Provider: RevenueCatProvider wraps the entire app in _layout.tsx, initializing the SDK on mount and listening for customer info updates
- Context Hook: useRevenueCat() exposes isPremium, presentPaywall(), presentPaywallIfNeeded(), presentCustomerCenter(), and restorePurchases()
- Entitlement Check: Premium status determined via customerInfo.entitlements.active[ENTITLEMENT_ID]
Paywall Flow
- User taps "Scan Recipe" or "Import from URL" in the Cookbook tab
- presentPaywallIfNeeded() checks entitlement — if already premium, proceeds directly
- If not premium, RevenueCat's native paywall UI is presented automatically
- On successful purchase, customerInfoUpdateListener fires and isPremium updates reactively
- All gated UI updates instantly without requiring a restart
Additional Features
- Restore Purchases — Available in Settings for users reinstalling or switching devices
- Customer Center — presentCustomerCenter() accessible from Settings for subscription management
- Debug Logging — LOG_LEVEL.DEBUG enabled in development builds
RevenueCat paywall UI
Premium OCR recipe scanning
Premium URL recipe import
Developer Biography

Niko Halley
Niko is a versatile IT professional with extensive experience in technical support, cloud engineering, and system administration. His career spans roles in Site Operations, Cloud Engineering, DevOps, SysAdmin, Cyber Systems Operations, and Technical Support.
Across these roles, Niko has maintained a strong focus on customer service, first-line troubleshooting, infrastructure automation, performance optimization, and streamlining complex technical environments.
In his free time, Niko enjoys tinkering with web and mobile applications, hiking, travelling the globe, and taking part in GameJams to sharpen his development skills. Fridge Raid is a product of that passion — built for the RevenueCat Ship-a-ton Hackathon using React Native, Expo, and AWS AI services.
How It Works
Stock Your Fridge
Search and add the ingredients you have at home to your virtual fridge.
Discover Recipes
Browse 500 recipes ranked by how many matching ingredients you already own.
Cook & Shop Smart
Save favorites, generate shopping lists for missing items, and start cooking.
Key Features
Ready to raid your fridge?
Download Fridge Raid today and start cooking smarter.
Download on the App Store