Skip to content

Cornell-Data-Strategy/Project-Rest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

TableTalk

A Full-Stack B2B SaaS Platform for Restaurant Review Intelligence

TableTrackLogo TableTalkLogo

πŸ“Œ Overview

TableTalk is a comprehensive B2B SaaS solution that transforms scattered customer reviews into actionable business intelligence for restaurant owners. By leveraging AI-powered analysis, automated web scraping, and intelligent dashboards, TableTrack helps restaurants understand customer feedback, identify improvement opportunities, and make data-driven decisions to enhance their business performance.

🎯 Problem Statement

Restaurant owners highly value customer feedback, especially from Google Reviews, but this feedback is often:

  • Scattered across multiple platforms
  • Difficult to analyze at scale
  • Time-consuming to extract actionable insights
  • Hard to track trends and performance metrics

πŸ’‘ Solution

TableTalk solves these challenges by providing:

  • Automated review aggregation from Google Maps and other platforms
  • AI-powered sentiment analysis and entity extraction using Google Cloud NLP
  • Real-time performance dashboards with comprehensive analytics
  • Actionable AI insights generated using advanced language models

Features

Core Analytics

  • Smart Review Classification: Categorize reviews by sentiment and topic
  • AI-Powered Sentiment Analysis: Track customer satisfaction with Google Cloud NLP
  • Multi-Platform Aggregation: Scrape Google Maps using Selenium
  • Entity Extraction: Identify key topics, menu items, and business aspects

Dashboard & Visualization

  • Analytics Dashboard: Centralized view of all reviews
  • Performance Metrics Tracking: Monitor rating trends, review volume, and sentiment over time
  • Review Segmentation: Segment reviews into Highly Positive, Critical, and Suggestions

Business Intelligence

  • AI-Generated Insights: Business recommendations powered by DeepSeek LLM
  • Topic-Based Ratings: Track performance across specific aspects of the business
  • Critical Review Detection: Highlight and prioritize negative feedback

πŸ— System Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    JWT Auth     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    API Calls    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚      Frontend       β”‚    + REST API   β”‚     Backend API     β”‚                 β”‚    External APIs    β”‚
β”‚   React.js +        │◄───────────────►│   Flask +           │◄───────────────►│                     β”‚
β”‚   Tailwind CSS      β”‚                 β”‚   SQLAlchemy        β”‚                 β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚                     β”‚                 β”‚                     β”‚                 β”‚  β”‚ Google Cloud  β”‚  β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚                 β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚                 β”‚  β”‚ NLP API       β”‚  β”‚
β”‚ β”‚ Dashboard UI    β”‚ β”‚                 β”‚ β”‚ Auth Service    β”‚ β”‚                 β”‚  β”‚ β€’ Sentiment   β”‚  β”‚
β”‚ β”‚ Analytics       β”‚ β”‚                 β”‚ β”‚ Business Logic  β”‚ β”‚                 β”‚  β”‚ β€’ Entities    β”‚  β”‚
β”‚ β”‚ Review Mgmt     β”‚ β”‚                 β”‚ β”‚ Dashboard APIs  β”‚ β”‚                 β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚                 β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚                 β”‚                     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                 β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
                                                   β”‚                             β”‚  β”‚ OpenRouter    β”‚  β”‚
                                                   β”‚                             β”‚  β”‚ (DeepSeek V3) β”‚  β”‚
                                                   β”‚                             β”‚  β”‚ β€’ AI Insights β”‚  β”‚
                                                   β”‚                             β”‚  β”‚ β€’ Summary     β”‚  β”‚
                                                   β–Ό                             β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
                                        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                        β”‚   Data Processing   β”‚                            β”‚
                                        β”‚     Pipeline        β”‚                            β”‚
                                        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                            β”‚
                                                   β”‚                                       β”‚
                                                   β–Ό                                       β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    Web Scraping β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    Raw Data    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚     Data Sources    │◄────────────────│   Scraping Layer   │───────────────►│    Database Layer   β”‚
β”‚                     β”‚                 β”‚                     β”‚                 β”‚                     β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚                 β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚                 β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚ β”‚ Google Maps     β”‚ β”‚                 β”‚ β”‚ Selenium        β”‚ β”‚                 β”‚ β”‚ PostgreSQL/     β”‚ β”‚
β”‚ β”‚ Review Pages    β”‚ β”‚                 β”‚ β”‚ WebDriver       β”‚ β”‚                 β”‚ β”‚ MySQL           β”‚ β”‚
β”‚ β”‚                 β”‚ β”‚                 β”‚ β”‚ β€’ Rate Limiting β”‚ β”‚                 β”‚ β”‚                 β”‚ β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚                 β”‚ β”‚ β€’ Smart Parsing β”‚ β”‚                 β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚
β”‚                     β”‚                 β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚                 β”‚ β”‚ β”‚   Tables    β”‚ β”‚ β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚                 β”‚                     β”‚                 β”‚ β”‚ β”‚ β€’ Users     β”‚ β”‚ β”‚
β”‚ β”‚ Other Review    β”‚ β”‚                 β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚                 β”‚ β”‚ β”‚ β€’ Business  β”‚ β”‚ β”‚
β”‚ β”‚ Platforms       β”‚ β”‚                 β”‚ β”‚ BeautifulSoup   β”‚ β”‚                 β”‚ β”‚ β”‚ β€’ Reviews   β”‚ β”‚ β”‚
β”‚ β”‚ (Future)        β”‚ β”‚                 β”‚ β”‚ β€’ HTML Parsing  β”‚ β”‚                 β”‚ β”‚ β”‚ β€’ Insights  β”‚ β”‚ β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚                 β”‚ β”‚ β€’ Data Cleaning β”‚ β”‚                 β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                 β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚                 β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
                                        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ“ Tech Stack

Layer Technology
Frontend React.js, Tailwind CSS
Backend Python Flask, SQLAlchemy
Database PostgreSQL/MySQL
AI & NLP Google Cloud Natural Language API, DeepSeek V3
Web Scraping Selenium WebDriver, BeautifulSoup
Authentication Flask-JWT-Extended
API Integration OpenRouter API
Deployment TBD (AWS/Google Cloud Platform)

πŸ“… Development Roadmap

  • Phase 1: Research & Market Analysis (βœ… Completed)
  • Phase 2: Core Backend Development & API Integration (βœ… Completed)
  • Phase 3: AI/ML Model Development & Training (βœ… Completed)
  • Phase 4: Frontend Dashboard Development (πŸ”„ In Progress)
  • Phase 5: Beta Testing & User Feedback (πŸ”œ Upcoming)
  • Phase 6: Production Deployment & Launch (πŸ”œ Upcoming)

πŸ“Š Key Metrics & Performance

  • Automated review scraping from Google Maps using Selenium
  • Real-time sentiment analysis with Google Cloud NLP
  • AI-powered insights generation using DeepSeek LLM
  • Comprehensive dashboard with 8+ analytics endpoints

🎯 Target Market

  • Primary: Independent restaurant owners (1-10 locations)
  • Secondary: Restaurant chains and hospitality businesses
  • Tertiary: Food service management companies

πŸ” Security & Compliance

  • JWT-based authentication system
  • Secure password hashing with Werkzeug
  • Environment-based configuration management
  • Input validation and SQL injection prevention

πŸ‘₯ Team

Name Role GitHub
Ahmed Abdulla Team Lead @ahmed-52
Farhan Mashrur Team Lead @farhan-439
Arsh Singh Developer @Arsh-S
Saesha Agarwal Developer @saeshaagarwal
Sonja Wong Developer @wsonja
Daniel Khanin Developer @Danikk-392
Arianna Hsu Developer

πŸ“„ License

All Rights Reserved - This code is proprietary and confidential. Unauthorized copying, modification, distribution, or use of this software is strictly prohibited without explicit written permission from the authors.


Built as a project by Cornell Data Strategy

About

B2B SaaS platform converting restaurant reviews into business insights via analysis and web scraping

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 6