39813-vm/README.md
2026-04-26 08:00:35 +00:00

126 lines
3.5 KiB
Markdown

# Flatlogic Recipe Data Handoff Package
## What's Included
| File | Description | Size |
|------|-------------|------|
| `RECIPE_SCHEMA.md` | Complete schema documentation with examples | 4.7KB |
| `APP_CODE_REFERENCE.md` | How the app loads and uses recipe data | 3.7KB |
| `validate_recipes.py` | Python script to check data quality | 6.6KB |
| `recipes_sample.json` | 100 sample recipes (uncompressed for review) | 291KB |
| `recipes_current_full.json.gz` | Current 188,435 recipes (for reference) | 50MB |
| `DATA_SUMMARY.txt` | Statistics about current dataset | 301B |
## Quick Start for Flatlogic
### 1. Understand the Requirements
**Target Dataset:**
- **15,000-20,000 recipes** (current has too many - 188k causes crashes)
- **File size:** Under 8MB compressed (gzip)
- **Quality:** 85%+ should pass validation
### 2. Use the Validation Script
```bash
# Run this on your generated data before delivery
python3 validate_recipes.py recipes_flatlogic.json.gz
```
Expected output:
```
Quality Score: 90.0%
✅ EXCELLENT - Ready for delivery
```
### 3. Key Validation Rules
**CRITICAL - Title-Ingredient Matching:**
- "Chicken Alfredo" MUST have "chicken" in ingredients
- "Butternut Squash Soup" MUST have "butternut squash" in ingredients
- "Peanut Butter Cookies" MUST have "peanut butter" in ingredients
The script checks this automatically.
### 4. Deliverables
Submit to client:
1. `recipes_flatlogic.json.gz` - Your compressed dataset
2. `recipes_sample.json` - First 100 recipes uncompressed
3. `validation_report.txt` - Output of validate_recipes.py
## Current Dataset Problems (For Reference)
The included `recipes_current_full.json.gz` (188,435 recipes) has these issues:
- ❌ Too large - 52MB compressed / 162MB uncompressed
- ❌ Causes app crashes on mobile devices
- ❌ Out-of-memory errors on Android WebView
- ❌ 10,000 recipe limit being applied (old fallback data)
**Why this happened:**
We merged Food.com Kaggle dataset (231k recipes) with existing data, filtered to 188k validated recipes, but mobile WebView can't handle files >10-15MB.
## Recipe Format Example
```json
{
"id": 1,
"name": "Creamy Garlic Butter Chicken",
"ingredients": [
"chicken breasts",
"butter",
"garlic cloves",
"heavy cream",
"parmesan cheese",
"spinach",
"salt",
"black pepper"
],
"steps": [
"Season chicken with salt and pepper.",
"Melt butter in skillet over medium heat.",
"Cook chicken 6-7 minutes per side until golden.",
"Add minced garlic, cook 1 minute.",
"Pour in cream and parmesan, simmer 3 minutes.",
"Stir in spinach until wilted.",
"Serve immediately."
],
"minutes": 25,
"tags": ["dinner", "chicken", "quick", "creamy"],
"rating": 4.7,
"servings": 4,
"difficulty": "easy"
}
```
## Size Guidelines
| Recipe Count | Compressed Size | Mobile Performance |
|-------------|-----------------|-------------------|
| 10,000 | 3-4 MB | ✅ Fast loading |
| 20,000 | 6-8 MB | ✅ Good loading |
| 50,000 | 15-20 MB | ⚠️ Slow loading |
| 188,000 | 52 MB | ❌ Crashes app |
## Recommended Data Sources
1. **Food.com / Genius Kitchen** (preferred)
2. **AllRecipes**
3. **BBC Good Food**
4. **NYT Cooking**
Focus on highly-rated recipes (4+ stars) with complete instructions.
## Questions?
Contact the development team with:
- Validation script output
- Sample recipes for review
- Any schema clarifications needed
## Timeline
Target delivery: [Set with client]
Quality threshold: 85%+ valid recipes
File size limit: 8MB compressed