How mizcausevic-dev/saas-help-center-geo-optimizer works
Purpose and principal workflow
This is a small FastAPI application for assessing SaaS help-center articles for generative-engine readiness and presenting prioritized content fixes. A browser or API client initiates the workflow by requesting a page or API endpoint; Uvicorn serves the application, which loads the bundled help-center dataset, scores its articles, and returns a summary, queue, or article result.
Components
Web application and interfaces
• Uvicorn ASGI server — null (external): The documented local run starts Uvicorn from the application module to serve the FastAPI app.
• FastAPI routes and service wiring — app/main.py: Creates the app and service instance, exposes HTML pages and JSON summary, article, sample, and OpenAPI routes, and returns 404 for unknown article slugs.
• Help-center presentation — app/render.py: Builds the overview, prioritized queue, evidence, and API-summary HTML pages; the sampled renderers call the GEO service to obtain their data.
Scoring and source data
• GEO scoring and aggregation — app/services/geo_service.py: Loads articles, computes readiness dimensions and a blended GEO score, derives per-article fixes and priority, and assembles queue, article, summary, and sample-payload results.
• Bundled help-center dataset — app/data/sample_help_center.json: Supplies the sample articles and brand/platform metadata read by the GEO service.
External caller
• Browser or API client — null (external): Requests the application’s HTML pages or JSON endpoints; the README documents local browser access.
Relationships
• Browser or API client -> Uvicorn ASGI server: Sends HTTP requests to the locally hosted application; the README documents the local URLs and run command.
• Uvicorn ASGI server -> FastAPI routes and service wiring: Serves the app.main:app application; the module’s run block calls uvicorn.run.
• FastAPI routes and service wiring -> Help-center presentation: Calls the page renderers for the HTML routes.
• FastAPI routes and service wiring -> GEO scoring and aggregation: Calls the service for summary, queue, article lookup, and sample-payload API results.
• Help-center presentation -> GEO scoring and aggregation: Calls service methods to populate rendered pages, including overview metrics and queue data.
• GEO scoring and aggregation -> Bundled help-center dataset: Reads and parses the JSON source file when loading article data.
• Browser or API client -> FastAPI routes and service wiring: Requests the documented pages and API endpoints; the app’s route definitions handle those requests.
Coverage limits
The render module excerpt omits portions of the queue and evidence renderers, so their exact data-selection details are not established. The README describes a Zendesk-style export, but the sampled code shows only the bundled JSON source; no external help-center connector or persistent state is evidenced.
Main entry points: main.py FastAPI routes · geo_service.py GEO scoring service · render.py Help-center presentation · sample_help_center.json Help-center dataset
Components 6
External access
- Browser or API client
- Uvicorn ASGI server
Web application
- FastAPI routes
app/main.py - Help-center presentation
app/render.py
Scoring and data
- GEO scoring service
app/services/geo_service.py - Help-center dataset
app/data/sample_help_center.json
Connections 7
- Browser or API client → Uvicorn ASGI server: Sends HTTP requests
- Uvicorn ASGI server → FastAPI routes: Serves app
- FastAPI routes → Help-center presentation: Calls renderers
- FastAPI routes → GEO scoring service: Requests results
- Help-center presentation → GEO scoring service: Gets page data
- GEO scoring service → Help-center dataset: Reads JSON
- Browser or API client → FastAPI routes: Requests pages and APIs