SpotCheck is a modern web application that aggregates Google Maps reviews and uses AI to summarize them into a clear, actionable verdict. Instead of reading hundreds of reviews, get an instant analysis of the pros, cons, and overall sentiment.
- Instant Search: Search for any location via Google Places API.
- AI Summaries: Uses Groq AI (Llama 3.3 70b) to analyze reviews.
- Sentiment Analysis: Clear Positive, Mixed, or Negative badge.
- Key Insights: distinct Pros (Green) and Cons (Red) lists.
- Common Themes: Identifies recurring topics (e.g., "Great Service", "Long Wait").
- Modern UI: built with React + Tailwind CSS, featuring smooth animations and responsive design.
- React 18: UI Library (Vite)
- Tailwind CSS: Styling
- Axios: HTTP Client
- Lucide React: Icons
- Node.js & Express: Server
- Google Places API: Location Data
- Groq API: AI Summarization
- Dotenv: Environment Configuration
- Node.js (v16.0.0 or higher)
- npm (v7.0.0 or higher)
- Google Places API Key
- Groq API Key
The project is structured into two main folders: frontend and backend.
-
Navigate to the backend folder:
cd backend -
Install dependencies:
npm install
-
Configure Environment Variables:
- Create a
.envfile (copy from.env.example). - Add your API keys (see below).
cp .env.example .env
File: .env
GOOGLE_PLACES_API_KEY=your_google_places_key GROQ_API_KEY=your_groq_key PORT=3001
- Create a
-
Start the Server:
npm run dev # Server runs on http://localhost:3001
- Open a new terminal and navigate to the frontend folder:
cd frontend - Install dependencies:
npm install
- Start the Dev Server:
npm run dev # App runs on http://localhost:5173
- Go to the Google Cloud Console.
- Create a new project.
- Enable "Places API (New)" or "Places API".
- Go to Credentials -> Create Credentials -> API Key.
- Copy the key into your
.envfile. Note: You must enable billing for the Places API to work, though it has a free tier.
- Go to the Groq Console.
- Log in (or sign up).
- Click "Create API Key".
- Name it "SpotCheck" and copy the key into your
.envfile.
-
Backend Error: "Location not found":
- Ensure your Google Places API key is valid and has billing enabled.
- Try a more specific search term (e.g., "Joe's Pizza New York" instead of "Joe's").
-
Frontend Error: "Network Error":
- Ensure the backend server is running on port 3001.
- Check the console for CORS errors.
-
AI Summary Fails:
- Ensure your Groq API key is valid.
- Check backend logs for specific error messages from Groq.
To keep SpotCheck running 24/7 for free, follow these steps:
1. Backend (Host on Render.com)
- Create account and click New -> Web Service.
- Connect your GitHub repository.
- Configure:
- Name:
spotcheck-backend - Root Directory:
backend - Build Command:
npm install - Start Command:
node server.js
- Name:
- Environment Variables (Add these in the Render dashboard):
GOOGLE_PLACES_API_KEY: Your keyGROQ_API_KEY: Your keyNODE_ENV:production
- Copy your URL: Render will give you a URL like
https://spotcheck-backend.onrender.com.
- Create account and import your GitHub repository.
- Configure:
- Framework Preset: Vite
- Root Directory:
frontend - Build Command:
npm run build - Output Directory:
dist
- Environment Variables (CRITICAL):
- Add
VITE_API_URLand set it to your Render URL +/api. - Example:
https://spotcheck-backend.onrender.com/api
- Add
- Deploy: Click deploy and your site is live!
Note: On Render's free tier, the backend "sleeps" after inactivity. The first search might take 30-50 seconds to wake it up.
Built with ❤️ using React & Node.js