Skip to content
AI & AutomationIndependent Project

ReviewPulse

Real reviews in, grounded answers out — not AI guesswork.

A platform that gives restaurant owners a practical way to understand what their customers are actually saying — across their own reviews and nearby competitors — instead of scrolling through hundreds of reviews by hand or asking a generic AI chatbot that has no real data to work from.

Attribution
Independent Project
Period
2026
Category
AI & Automation
reviewpulse2026

0 overspend

Usage metering stays atomic under concurrent requests

01The challenge

Restaurant owners have hundreds of reviews spread across platforms but no practical way to answer questions like "what do customers dislike about our service?" or "how do we compare with competitors nearby?" Reading reviews by hand doesn't scale, and generic AI chatbots don't have the restaurant's actual review data, so they make answers up.

02The solution

A platform that auto-discovers a restaurant and its closest competitors on signup, collects and indexes their reviews in a vector database, and answers plain-English questions through a retrieval-augmented assistant grounded in that real review data — backed by an analytics dashboard and tiered Stripe subscription billing.

03Key features

  • 01

    Automatic restaurant and competitor discovery via Google Maps at onboarding

  • 02

    Parallel, rate-limited review collection — up to 50 reviews across up to 5 competitors

  • 03

    LangChain function-calling RAG agent on GPT-4o, grounded in each restaurant's own reviews

  • 04

    Guided question library: a tree of questions with per-question prompt templates and follow-ups

  • 05

    Thumbs-up/down feedback loop that adapts the assistant's tone, structure and depth per user

  • 06

    Analytics dashboard with rating distribution and review metrics

  • 07

    Tiered Stripe subscriptions with monthly message allowances

  • 08

    Full billing lifecycle: prorated upgrades, payment-retry grace periods, cancellations and undo-cancellation

04Engineering approach

How it's built.

  • FastAPI
  • LangChain
  • OpenAI GPT-4o
  • Pinecone
  • Sentence-Transformers
  • PostgreSQL
  • SQLAlchemy
  • Alembic
  • Stripe
  • SerpAPI
  • Next.js 15
  • React 19
  • TypeScript
  • Docker
  1. 01

    Retrieval over fine-tuning: every answer is grounded in a restaurant's live review data, so a new restaurant can be added instantly with no retraining. The agent searches the verified review data first and only falls back to the model's general knowledge when the data lacks an answer — cutting down on made-up answers.

  2. 02

    A small local embedding model (384-dimension Sentence-Transformers/MiniLM) keeps embedding cost and latency predictable, paired with a serverless Pinecone index for search.

  3. 03

    Stripe is the source of truth: webhooks drive every account-tier change, checked against stale and out-of-order events so an old event can never downgrade a user who has already upgraded.

  4. 04

    Usage metering deducts each message from the monthly allowance in a single atomic database update, so parallel requests can't overspend it — and refunds the message automatically if the underlying AI call fails.

  5. 05

    Clear module boundaries — users, restaurants, subscription, FAQ and AI assistants are each split into routes, business logic and database access, keeping the codebase testable and easy to extend.

  6. 06

    A full security and reliability audit covered authentication, per-user data isolation, billing correctness, XSS and dependency vulnerabilities, including a critical Next.js dependency upgrade.

05Project gallery

Architecture views drawn from the project's documented design and its public source code.

System views · architecture from verified project notes

Database first, model second.

Onboarding auto-discovers the restaurant and its competitors, indexes their reviews, and answers every question from that grounded data before ever falling back to the model's general knowledge.

  1. 0102

    Restaurant signup

    Business found automatically via Google Maps

  2. 0203

    Competitor discovery

    Up to 5 competitors matched by cuisine and location

  3. 0304

    Review collection

    Up to 50 reviews per restaurant, collected in parallel

  4. 0405

    Embed & index

    MiniLM embeddings into a serverless Pinecone index

  5. 0506

    RAG agent

    LangChain + GPT-4o, grounded in retrieved reviews

  6. 06

    Guided Q&A

    Question library with templated prompts and follow-ups

Key design decisions

  • Retrieval before generation — the agent falls back to general knowledge only when the data has no answer.
  • A small local embedding model keeps cost and latency predictable instead of a hosted embeddings API.
  • Thumbs-up/down feedback adjusts the assistant's tone and depth per user.
Repository mapgithub.com/arslanrajpot/restaurant-reviews (opens in a new tab)
BE/
├── ai_assistants/   LangChain RAG agent over restaurant reviews
├── restaurants/     model · repository · routers · schema · services
├── subscription/    Stripe lifecycle — model · repository · routers
├── users/           authentication & profiles
├── faq/             guided question library
├── rag_embeddings/  embedding + Pinecone indexing
├── alembic/         versioned schema migrations
├── scheduler.py     subscription-expiry background jobs
└── app.py           FastAPI entrypoint
FE/src/
├── app/             Next.js 15 App Router pages
├── service/         API client
├── hooks/           data & auth hooks
└── shared/          shared UI components

06Outcome

What it delivered.

A production-architected SaaS platform where answers stay grounded in a restaurant's real reviews, billing stays correct through every Stripe edge case, and usage limits hold even under concurrent load.

Reviews per restaurant, across up to 5 auto-discovered competitors
50 × 5
Usage allowance can't be overspent by concurrent requests
Atomic metering

As published in the founder's portfolio. No figures on this page are estimates or projections.

07Project attribution

Independent Project

An independent project designed and built by our founder, Arslan Arshad. It is a complete, production-architected SaaS build — not a Code Velocity client engagement.

Sources: Repository (opens in a new tab)