Skip to content

HarshveerThind/VibeCheck

Repository files navigation

VibeCheck Built by: Harshveer Thind and Roshan Kanagarajah

VibeCheck is a small intelligent agent that recommends social activities based on your current “vibe”. Given a short context like mood, weather, time of day, budget, and group size, the agent suggests activities such as movie night, bowling, picnic, or skiing.

The agent combines:

Fuzzy logic over high level activity categories

A Naive Bayes model trained on a synthetic dataset

A simple feedback mechanism that learns which activities a user likes

Requirements:

Python 3.9 or later (tested with Python 3.11) Recommended: virtual environment Python packages:

numpy scikit-fuzzy (standard library only otherwise: csv, math, collections, os) Install with: pip install numpy scikit-fuzzy

How it works

VibeCheck has three main parts working together:

Inputs: The user answers 7 questions in the CLI: mood, weather, temperature, setting (indoor / either / outdoor), budget, time of day, and group size. Each answer is stored as a label (e.g. “Energetic”) and as a number on a 0–10 scale.

Fuzzy logic (vibe categories): Activities are grouped into categories like chill indoor, active outdoor, winter outdoor, late night social, etc. Fuzzy rules use the numeric inputs to compute a suitability score for each category (0–10), for example “how suitable is winter outdoor right now”.

Naive Bayes + feedback (concrete activities): A Naive Bayes model is trained on vibe_data.csv to estimate P(Activity | context) for all activities. Each activity also has a learned weight that goes up when users like it and down when they reject it, and these weights are saved between runs.

For each activity, VibeCheck:

looks up the fuzzy score of its category combines that with its Naive Bayes probability (using a mixing parameter alpha) multiplies by the learned weight The activity with the highest final score is recommended first, and the top 10 are printed. To execute simply go to the directory folder for the project:

python main.py

To generate dataset use: python generate_massive_dataset.py

For qualitative testing use:

python evaluate_vibe_check.py

About

AI activity recommender that calculates the best activity for you to do based on your current situation, powered by a fuzzy logic and naive bayes engine and builds off of user feedback.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages