SmartShop

Personalized Grocery Item Recommendation System

A machine learning-powered web application that provides personalized grocery recommendations using Natural Language Processing (NLP) and collaborative filtering techniques.

SmartShop Application Interface

Key Features

Natural Language Processing

Search for groceries using natural language. The system understands your queries and provides relevant recommendations.

Collaborative Filtering

Get recommendations based on user behavior patterns and preferences using advanced SVD algorithms.

Market Basket Analysis

Discover products that are frequently bought together using association rules and market basket analysis.

Diversity Control

Balance between popular items and niche products with adjustable diversity controls.

Interactive Grocery Lists

Create, manage, and export your grocery lists with real-time updates and CSV export functionality.

Responsive Design

Mobile-friendly interface that works seamlessly across all devices and screen sizes.

Application Demo

SmartShop Interface

The SmartShop web interface featuring natural language search and interactive grocery list management

Try SmartShop Features:

  • Natural Language Search: Type "healthy breakfast options" or "quick dinner ingredients"
  • Product Recommendations: Get suggestions based on your search and preferences
  • Grocery List Management: Add, remove, and organize your shopping list
  • Export Options: Download your list as CSV or print it

Note: The full interactive application requires a Python Flask server. This GitHub Pages site showcases the project. To run the complete application locally, follow the installation instructions in the repository.

Technology Stack

Frontend

  • HTML5 & CSS3
  • JavaScript
  • TailwindCSS
  • PureCSS

Backend

  • Flask (Python)
  • SQLite Database
  • RESTful APIs
  • Session Management

Machine Learning

  • Scikit-learn
  • Scikit-surprise (SVD)
  • NLTK
  • Pandas & NumPy

Data Processing

  • Cosine Similarity
  • TF-IDF Vectorization
  • Text Stemming
  • Association Rules

About the Project

SmartShop is an intelligent grocery recommendation system that combines multiple machine learning approaches to provide accurate and diverse product suggestions. The system analyzes user preferences, shopping patterns, and product relationships to deliver personalized recommendations.

Key Algorithms:

  • SVD (Singular Value Decomposition): For collaborative filtering and user-item matrix factorization
  • TF-IDF & Cosine Similarity: For content-based product matching
  • Market Basket Analysis: For discovering product associations
  • Diversity Algorithms: For balancing popular and niche recommendations

Dataset:

  • 49,000+ unique grocery items
  • 134 product categories (aisles)
  • 21 major departments
  • Historical transaction patterns
49K+ Products
134 Categories
21 Departments
ML Powered

Getting Started

Prerequisites

  • Python 3.12 or higher
  • pip package manager

Installation Steps

1. Clone the repository

git clone https://github.com/yss107/SmartShops.github.io.git
cd SmartShops.github.io

2. Install dependencies

pip install -r requirements.txt
# If scikit-surprise fails:
conda install -c conda-forge scikit-surprise

3. Download NLTK data

python -c "import nltk; nltk.download('punkt')"

4. Run the application

cd flask_app
python app.py

5. Access the application

Open browser: http://localhost:5000