Live Frontend: [https://reviews-copilot.streamlit.app/]
Backend API: [https://reviews-copilot.loca.lt] (via localtunnel)
A full-stack AI application that helps businesses manage customer reviews with intelligent automated reply suggestions, and advanced search capabilities with detailed analytics of reviews.
- AI-Powered Analysis: Sentiment analysis and topic classification using Groq LLM (Llama 3.1 70B/8B respectively)
- Smart Reply Generation: Context-aware response suggestions
- Hybrid Search: TF-IDF + Vector semantic search
- Analytics Dashboard: Visual insights into review metrics
- Multi-location Support: Filter reviews by business location
Streamlit Frontend (Cloud) → FastAPI Backend (Local + Localtunnel) → NeonDB + pgvector → Groq AI
cd backend
# Install dependencies(without venv: otherwise you might end up with compatibility issues with metadata generation)
pip install -r requirements.txt
# Setup environment
cp .env.example .env
# Edit .env with your actual values
# Run backend
uvicorn main:app --reload --host 0.0.0.0 --port 8000
# Expose via localtunnel (in separate terminal)
npx localtunnel --port 8000 --subdomain reviews-copilotURL: [https://reviewsapp.streamlit.app/], for easy access, already configured admin api key for demo purpose and ingestion of reviews.
Automatically connects to [https://reviews-copilot.loca.lt] as already configured in streamlit community. PORT:8000
NeonDB with pgvector: Production ready database with vector capabilities.
- Primary LLM: Groq - Llama 3.1 70B (reply generation)
- Secondary LLM: Groq - Llama 3.1 8B (sentiment analysis)
- Embeddings: SentenceTransformers for vector search
- Search: Hybrid ,TF-IDF (scikit-learn) , Vector (pgvector in default neon db)
- Local Backend: Using localtunnel instead of cloud hosting for backend, got into space issue in Render and Railway.
- Streamlit over React: Faster development but less customization and very minimal demo UI, could have made it more aesthetically pleasing and better user flow.
- Simple Authentication: API keys instead of full OAuth system
- System Design improvements:1. handling 100s of reviews at once and how can we make Groq models AI query in optmised way. 2. Event streaming like kakfa that can stream the messages from a service to our review and we can process it gradually and not all at once.
- User Auth system : can be added in case of more granular control by admin for users on functionality.