Cocktail AI: Evolutionary Recipe Generation with ML-Powered Flavor Prediction, deployed on AWS
Built an AI-assisted cocktail design system that predicts multi-label flavor profiles and uses evolutionary search to optimize recipes under real-world constraints. I trained taste classifiers on 4,500+ recipes, wired the models into a GA fitness loop, and deployed the pipeline on AWS for low-latency generation. The result is a production-style ML workflow that blends data science, backend orchestration, and DevOps to ship a user-facing product.
- Average AUC
- 0.90
- Best AUC
- 0.998
- Average F1-Score
- 0.67
- Taste Classifiers
- 9
- DataSet
- 4,500+
Core Innovation
What makes this project different:
Multi-label flavor modeling instead of single “primary taste.”
Ingredient quantities as features, not just presence/absence.
Genetic Algorithm for constrained search, not brute force.
Fitness driven by trained ML models, not hand-crafted rules.
This turns cocktail creation into a structured optimization problem similar to real-world engineering systems. It runs on a serverless AWS stack so it stays reliable, cost-aware, and responsive for users.
- S3: stores datasets and trained models.
- SageMaker: trains and serves the taste models.
- SQS + Lambda: processes recipe jobs in the background.
- DynamoDB: tracks job status for the UI.
- CloudWatch: monitors health and performance.
Performance highlights: average final fitness of 95.2%, average fitness of 90.6%, and recipe generation completing in about 45 seconds end-to-end.
The system scales smoothly by batching model evaluations per generation, cutting inference calls by 99.9% across a full run while keeping quality intact.

Sample Generated Recipes
Each recipe is evolved from mandatory ingredients and target flavor profiles using ML-powered genetic optimization.
Mandatory
Sugar Syrup (2:1), Vodka
Generated Composition
Mandatory
Lime Juice, Vodka
Generated Composition
Mandatory
Vodka, Spiced Rum
Generated Composition
Mandatory
None
Generated Composition
Mandatory
Gin
Generated Composition
Mandatory
Malt Whisky
Generated Composition
Model Performance
All taste classifiers were trained using Logistic Regression with tuned thresholds:
| Flavor | AUC | Precision | Recall | F1-Score |
|---|---|---|---|---|
| Creamy | 0.998 | 0.917 | 1.000 | 0.957 |
| Floral | 0.971 | 0.458 | 0.647 | 0.537 |
| Bittersweet | 0.960 | 0.802 | 0.853 | 0.827 |
| Spicy | 0.943 | 0.571 | 0.600 | 0.585 |
| Sweet | 0.901 | 0.731 | 0.731 | 0.731 |
| Herbal | 0.881 | 0.531 | 0.682 | 0.597 |
| Fruity | 0.863 | 0.750 | 0.596 | 0.664 |
| Citrus | 0.849 | 0.660 | 0.865 | 0.749 |
| Savoury | 0.750 | 0.391 | 0.429 | 0.409 |
Even with simple linear models, the system achieves strong AUC and usable F1 scores — validating the feature design and framing of flavor prediction.
These models directly power the GA fitness evaluation.