Skip to content

OrangePomeranian/FlavorCompass

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 

Repository files navigation

🍽 FlavorCompass

FlavorCompass is a data-driven recipe recommendation system that transforms structured culinary data into interpretable, similarity-based food recommendations.

The system scrapes recipes, engineers multi-dimensional flavor profiles, and builds a content-based recommendation engine powered by cosine similarity.

🚀 Overview

FlavorCompass integrates:

Web scraping

Relational database modeling

Feature engineering

Machine learning

Interactive UI

Instead of relying on opaque text embeddings, the system models explicit culinary attributes such as:

Taste — sweet, salty, sour, umami, spicy

Texture — creamy, crispy, fatty

Protein type — meat, fish, dairy, plant-based

Cuisine — Italian, Polish, Asian, Mexican

Cooking technique — fried, baked, grilled, boiled

Dish category — dessert, soup, salad, main dish

Caloric profile

Dietary properties — vegan, vegetarian, gluten-free

Each recipe becomes a structured feature vector used for similarity computation.

🧠 Architecture

1️⃣ Data Collection

Recipes are scraped using Scrapy and stored in structured JSON format.

2️⃣ Database Layer

Data is normalized into SQLite:

articles

ingredients

tags

article_flavor_profile (engineered feature table)

3️⃣ Feature Engineering

The article_flavor_profile table generates 30+ engineered attributes including:

Flavor dimensions

Protein categorization

Cooking method

Cuisine type

Nutritional heuristics

These attributes create a structured vector space representation.

4️⃣ Recommendation Engine

The recommendation model:

Loads structured feature vectors

Scales features

Computes cosine similarity matrix

Builds a user preference vector from selected recipes

Returns top-N similar dishes

This is a deterministic, interpretable content-based recommender system.

5️⃣ Frontend

An interactive interface is built using Streamlit, allowing users to:

Select recipes they like

Instantly receive personalized recommendations

View titles and associated images

📦 Tech Stack

Python

Scrapy

SQLite

Pandas

NumPy

Scikit-learn

Streamlit

Joblib

Screenshot 2026-02-26 at 21 24 12 Screenshot 2026-02-26 at 21 24 28 Screenshot 2026-02-26 at 21 25 11

About

FlavorCompass is a data-driven recipe recommendation system that transforms structured culinary data into interpretable, similarity-based food recommendations.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages