Buds for Brains is an interactive Streamlit application that helps users explore cannabis strains, record personal experiences and generate recommendations using OpenAI embeddings and a FAISS vector store. User data is managed in Supabase.
- Authentication with Supabase (email and password).
- Chat Assistant for strain questions powered by retrieval‑augmented generation.
- Strain Explorer with filters by type, terpene and effects.
- Budtender Survey to collect preferences and update a personal profile.
- Journal to log strains and effects which updates the profile dashboard.
- Profile Dashboard summarising logged effects and past strains.
- About page describing the project background.
- Install dependencies:
pip install -r requirements.txt
- Provide environment variables (e.g. in a
.envfile):OPENAI_API_KEY– OpenAI API key for embeddings and chat completions.SUPABASE_URLandSUPABASE_KEY– credentials for your Supabase project.
- Run the application:
streamlit run main.py
The repository includes pre-built FAISS indexes and example user data. Scripts in the scripts/ directory can rebuild the dataset from the raw Leafly data and create embeddings.
Strain information is derived from public sources such as Leafly, AllBud and Weedmaps via simple scrapers. Terpene and cannabinoid metadata lives in data/terpene_info.json and data/cannabinoid_info.json.
No license file is provided. Please consult the repository owner before redistributing or using the code in a commercial setting.