Bob the Whisky Expert is an AI-powered whisky recommendation platform that provides personalized bottle suggestions through advanced machine learning algorithms and interactive user experiences.
- Personal Whisky Recommendations: Analyzes user whisky collection to provide tailored bottle suggestions
- Advanced Recommendation Engine: Uses collaborative filtering and preference analysis
- Interactive Chat: Talk directly with "Bob" about whisky recommendations and questions
- BAXUS Integration: Connects with the BAXUS API to fetch user collection data
- Detailed Flavor Profiles: Visual representation of whisky flavor characteristics
- Price Analysis: Recommendations based on your typical spending patterns
For detailed installation instructions, please see INSTALLATION.md.
- Clone the repository
- Install required Python packages (see INSTALLATION.md for a complete list)
- Create a
.envfile with your OpenAI API key - Run
python main.py
You will need an OpenAI API key for the chat functionality.
Add this to your .env file as:
OPENAI_API_KEY=your_openai_api_key_here
- Start the Flask server
python main.pyAlternatively, use gunicorn (recommended for production):
gunicorn --bind 0.0.0.0:5000 --reuse-port --reload main:app- Access the application
Open your web browser and navigate to:
http://localhost:5000
For detailed usage instructions, please see USAGE.md.
-
Enter your BAXUS username
- On the home page, enter your BAXUS username to access your personalized recommendations
- The app will analyze your existing whisky collection stored in BAXUS
-
Viewing recommendations
- Browse personalized whisky recommendations based on your collection
- Each recommendation includes detailed information about the bottle, including flavor profile, price, and region
-
Chat with Bob
- Use the chat widget on the recommendations page to interact with Bob
- Ask questions about specific whiskies, regions, or flavor preferences
- Request recommendations for specific occasions or price ranges
main.py: Application entry pointapp.py: Flask application with routes and controllersbob_chat.py: Implementation of the Bob AI assistantbottle_dataset.py: Whisky bottle dataset accessrecommendation_engine.py: Machine learning recommendation algorithmsmodels.py: Data models for bottles and user preferencesbaxus_api.py: Integration with BAXUS APIstatic/: Static assets (CSS, JavaScript, images)templates/: HTML templates.env: Environment variables (not included in repository)
OPENAI_API_KEY: Required for the chat functionalityFLASK_ENV: Set to 'development' or 'production'FLASK_DEBUG: Set to 'True' for developmentSECRET_KEY: Flask secret key for securing sessionsSESSION_SECRET: Session security key
- Built with Flask, OpenAI API, and Bootstrap
- Uses the BAXUS API for collection data
- Whisky dataset includes comprehensive bottle information