# lakshmansaimuthu/business-reputation-insights-analyzer-using-google-maps-reviews-llms architecture

> Architecture diagram of the GitHub repository lakshmansaimuthu/business-reputation-insights-analyzer-using-google-maps-reviews-llms, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-08-13). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/lakshmansaimuthu/business-reputation-insights-analyzer-using-google-maps-reviews-llms
- Repository: https://github.com/lakshmansaimuthu/business-reputation-insights-analyzer-using-google-maps-reviews-llms

## Overview

#### Purpose and entry point
This repository is a compact business-reputation analysis application for turning Google Maps review exports into sentiment, theme, summary, and recommendation insights. The executable entry point is `app.py`; the exploratory/prototyping workflow is captured in `business reputation.ipynb`.

#### Application boundary
The application appears to operate on repository-local review datasets rather than exposing a separate service API. Its primary input boundary is CSV data, and its primary output boundary is an interactive dashboard rendered by the application:
- `Reviews.csv`
- `ReviewsDetails.csv`
- `app.py`

#### Review ingestion and normalization
Raw Google Maps reviews are expected to have been collected through SerpAPI or Google Maps APIs and persisted as structured CSV files. The collection/API integration is described in the README but has no dedicated source module in the provided tree. `Reviews.csv` and `ReviewsDetails.csv` are therefore the durable handoff from external review acquisition into analysis.

#### NLP analysis pipeline
The core analysis stages are text cleaning, sentiment classification, theme extraction, review summarization, and recommendation generation. These stages transform unstructured review text into structured business signals: positive/neutral/negative sentiment, themes such as service or pricing, condensed summaries, and suggested improvements. Implementation is concentrated in:
- `app.py`
- `business reputation.ipynb`

#### LLM and prompt boundary
LLMs are an external intelligence dependency for extracting themes, generating summaries, and producing actionable recommendations. Prompt engineering is part of this boundary: review data is prepared locally, sent to an LLM-oriented pipeline, and returned as business-readable findings. No provider-specific client, credentials handling, or model configuration files are present in the supplied tree.

#### Interactive presentation layer
`app.py` is the production-facing orchestration layer and likely owns data loading, analysis invocation, and dashboard rendering. The README identifies Streamlit and/or Gradio as the intended UI runtimes, though only one executable application file is present:
- `app.py`

#### Development and validation artifact
`business reputation.ipynb` is the likely experimentation environment for validating data preprocessing, NLP/LLM prompts, and dashboard-oriented metrics before or alongside the app implementation. It shares the same CSV-backed data boundary:
- `business reputation.ipynb`
- `Reviews.csv`
- `ReviewsDetails.csv`

Main entry points: [`app.py`](https://github.com/lakshmansaimuthu/business-reputation-insights-analyzer-using-google-maps-reviews-llms/blob/main/app.py) (Application Orchestrator), [`Reviews.csv`](https://github.com/lakshmansaimuthu/business-reputation-insights-analyzer-using-google-maps-reviews-llms/blob/main/Reviews.csv) (Reviews.csv), [`ReviewsDetails.csv`](https://github.com/lakshmansaimuthu/business-reputation-insights-analyzer-using-google-maps-reviews-llms/blob/main/ReviewsDetails.csv) (ReviewsDetails.csv), [`business reputation.ipynb`](https://github.com/lakshmansaimuthu/business-reputation-insights-analyzer-using-google-maps-reviews-llms/blob/main/business%20reputation.ipynb) (Exploration Notebook)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_data["Review Data"]
  node_acquisition{{"Google Maps / SerpAPI<br/>external review source"}}
  node_reviews_csv[("Reviews.csv<br/>review dataset<br/>[Reviews.csv]")]
  node_details_csv[("ReviewsDetails.csv<br/>review details dataset<br/>[ReviewsDetails.csv]")]
end

subgraph group_analysis["Analysis Pipeline"]
  node_cleaning["Text Cleaning<br/>local NLP stage<br/>[app.py]"]
  node_sentiment["Sentiment Classification<br/>NLP stage<br/>[app.py]"]
  node_llm{{"LLM Intelligence<br/>external LLM"}}
  node_themes["Theme Extraction<br/>LLM-assisted stage<br/>[app.py]"]
  node_summaries["Review Summaries<br/>LLM-assisted stage<br/>[app.py]"]
  node_recommendations["Recommendations<br/>LLM-assisted stage<br/>[app.py]"]
  node_notebook["Exploration Notebook<br/>prototype workflow"]
end

subgraph group_app["Interactive Application"]
  node_app["Application Orchestrator<br/>Streamlit/Gradio app<br/>[app.py]"]
  node_dashboard["Interactive Dashboard<br/>presentation layer<br/>[app.py]"]
end

node_acquisition -->|"persists reviews"| node_reviews_csv
node_acquisition -->|"persists details"| node_details_csv
node_reviews_csv -->|"loads"| node_app
node_details_csv -->|"loads"| node_app
node_app -->|"prepares text"| node_cleaning
node_cleaning -->|"normalized reviews"| node_sentiment
node_cleaning -->|"prepared review context"| node_llm
node_llm -->|"theme findings"| node_themes
node_llm -->|"generated summaries"| node_summaries
node_llm -->|"improvement suggestions"| node_recommendations
node_sentiment -->|"sentiment insights"| node_dashboard
node_themes -->|"themes"| node_dashboard
node_summaries -->|"summaries"| node_dashboard
node_recommendations -->|"actions"| node_dashboard
node_reviews_csv -.->|"explores"| node_notebook
node_details_csv -.->|"explores"| node_notebook
node_notebook -.->|"validates workflow"| node_app

click node_reviews_csv "https://github.com/lakshmansaimuthu/business-reputation-insights-analyzer-using-google-maps-reviews-llms/blob/main/Reviews.csv"
click node_details_csv "https://github.com/lakshmansaimuthu/business-reputation-insights-analyzer-using-google-maps-reviews-llms/blob/main/ReviewsDetails.csv"
click node_app "https://github.com/lakshmansaimuthu/business-reputation-insights-analyzer-using-google-maps-reviews-llms/blob/main/app.py"
click node_cleaning "https://github.com/lakshmansaimuthu/business-reputation-insights-analyzer-using-google-maps-reviews-llms/blob/main/app.py"
click node_sentiment "https://github.com/lakshmansaimuthu/business-reputation-insights-analyzer-using-google-maps-reviews-llms/blob/main/app.py"
click node_themes "https://github.com/lakshmansaimuthu/business-reputation-insights-analyzer-using-google-maps-reviews-llms/blob/main/app.py"
click node_summaries "https://github.com/lakshmansaimuthu/business-reputation-insights-analyzer-using-google-maps-reviews-llms/blob/main/app.py"
click node_recommendations "https://github.com/lakshmansaimuthu/business-reputation-insights-analyzer-using-google-maps-reviews-llms/blob/main/app.py"
click node_dashboard "https://github.com/lakshmansaimuthu/business-reputation-insights-analyzer-using-google-maps-reviews-llms/blob/main/app.py"
click node_notebook "https://github.com/lakshmansaimuthu/business-reputation-insights-analyzer-using-google-maps-reviews-llms/blob/main/business%20reputation.ipynb"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_acquisition,node_reviews_csv,node_details_csv toneBlue
class node_cleaning,node_sentiment,node_llm,node_themes,node_summaries,node_recommendations,node_notebook toneAmber
class node_app,node_dashboard toneMint
```

## Components

### Review Data

- **Google Maps / SerpAPI**: external review source · Reviews are acquired externally before being saved as CSV.
- [Reviews.csv](https://github.com/lakshmansaimuthu/business-reputation-insights-analyzer-using-google-maps-reviews-llms/blob/main/Reviews.csv): review dataset · `Reviews.csv`
- [ReviewsDetails.csv](https://github.com/lakshmansaimuthu/business-reputation-insights-analyzer-using-google-maps-reviews-llms/blob/main/ReviewsDetails.csv): review details dataset · `ReviewsDetails.csv`

### Analysis Pipeline

- [Text Cleaning](https://github.com/lakshmansaimuthu/business-reputation-insights-analyzer-using-google-maps-reviews-llms/blob/main/app.py): local NLP stage · `app.py`
- [Sentiment Classification](https://github.com/lakshmansaimuthu/business-reputation-insights-analyzer-using-google-maps-reviews-llms/blob/main/app.py): NLP stage · Classifies reviews as positive, neutral, or negative. · `app.py`
- **LLM Intelligence**: external LLM · Receives prepared review context and returns generated findings.
- [Theme Extraction](https://github.com/lakshmansaimuthu/business-reputation-insights-analyzer-using-google-maps-reviews-llms/blob/main/app.py): LLM-assisted stage · Identifies recurring topics such as service and pricing. · `app.py`
- [Review Summaries](https://github.com/lakshmansaimuthu/business-reputation-insights-analyzer-using-google-maps-reviews-llms/blob/main/app.py): LLM-assisted stage · `app.py`
- [Recommendations](https://github.com/lakshmansaimuthu/business-reputation-insights-analyzer-using-google-maps-reviews-llms/blob/main/app.py): LLM-assisted stage · Produces suggested business improvements. · `app.py`
- [Exploration Notebook](https://github.com/lakshmansaimuthu/business-reputation-insights-analyzer-using-google-maps-reviews-llms/blob/main/business%20reputation.ipynb): prototype workflow · Used to validate preprocessing, prompts, and dashboard metrics. · `business reputation.ipynb`

### Interactive Application

- [Application Orchestrator](https://github.com/lakshmansaimuthu/business-reputation-insights-analyzer-using-google-maps-reviews-llms/blob/main/app.py): Streamlit/Gradio app · Loads data, runs analysis, and renders the dashboard. · `app.py`
- [Interactive Dashboard](https://github.com/lakshmansaimuthu/business-reputation-insights-analyzer-using-google-maps-reviews-llms/blob/main/app.py): presentation layer · Displays review insights and business-readable findings. · `app.py`

## Connections

- Google Maps / SerpAPI → Reviews.csv: persists reviews
- Google Maps / SerpAPI → ReviewsDetails.csv: persists details
- Reviews.csv → Application Orchestrator: loads
- ReviewsDetails.csv → Application Orchestrator: loads
- Application Orchestrator → Text Cleaning: prepares text
- Text Cleaning → Sentiment Classification: normalized reviews
- Text Cleaning → LLM Intelligence: prepared review context
- LLM Intelligence → Theme Extraction: theme findings
- LLM Intelligence → Review Summaries: generated summaries
- LLM Intelligence → Recommendations: improvement suggestions
- Sentiment Classification → Interactive Dashboard: sentiment insights
- Theme Extraction → Interactive Dashboard: themes
- Review Summaries → Interactive Dashboard: summaries
- Recommendations → Interactive Dashboard: actions
- Reviews.csv → Exploration Notebook: explores
- ReviewsDetails.csv → Exploration Notebook: explores
- Exploration Notebook → Application Orchestrator: validates workflow
