The LOCLshop platform comprises two independently operated businesses. LOCLshopAEO is a location-level Answer Engine Optimization (AEO) measurement platform that scores how businesses appear across five AI answer engines, location by location and competitor by competitor. LOCLshop Media is a separate media-activation business that uses the measurement data produced by LOCLshopAEO to plan and execute media programs. The two operate independently — AEO scoring is invariant to media spend, and measurement is never compensated based on activation — preserving the neutrality of the measurement layer. Clients who use both gain a closed loop: objective, engine-neutral measurement that identifies where a location is underperforming, and an activation arm that can act on those findings, with results verified against the same independent scoring. The platform is built on a modern, cloud-native architecture deployed on Microsoft Azure, designed for reliability, scalability, and measurement neutrality.
Architecture at a Glance
|
Frontend |
React 19 + Vite |
|
Backend |
Python (FastAPI), fully asynchronous |
|
Database |
PostgreSQL (Azure Database for PostgreSQL); Redis (Azure Cache for Redis) |
|
Hosting |
Azure App Service with migration-gated deployment |
|
AI Engines Measured |
ChatGPT (OpenAI), Gemini (Google), Claude (Anthropic), Perplexity, Copilot |
|
Internal AI |
Anthropic Claude for content generation and keyword/prompt derivation |
|
Data Acquisition |
Direct HTTP fetch with Firecrawl JS-rendering fallback; DataForSEO search-volume data |
|
Observability |
Sentry, Azure Monitor / OpenTelemetry, PostHog |
Frontend
The user-facing application is built in React 19 with Vite as the build tool, delivering a fast, modern single-page application experience for dashboards, reporting, and platform administration.
Backend
The backend is written in Python using FastAPI and is fully asynchronous end to end. Data access runs through SQLAlchemy 2.0 with the asyncpg driver, and scheduled background jobs — including recurring AEO measurement runs — are managed via APScheduler. The application is served through Gunicorn with Uvicorn workers for production-grade concurrency.
Database & Caching
The primary datastore is PostgreSQL, hosted on Azure Database for PostgreSQL. The database schema is version-controlled and managed through Alembic migrations, ensuring every environment runs a known, auditable schema state. Redis, hosted on Azure Cache for Redis, provides caching, job idempotency guarantees, and rate-limit counters.
Hosting & Deployment
The platform is hosted on Azure App Service. Deployments run through a startup script that applies any pending database migrations before booting the application server. If a migration fails, the deployment fails loudly rather than serving traffic against a broken schema — a deliberate safeguard for data integrity and measurement reliability.
AI / LLM Infrastructure
LOCLshop is multi-engine by design. The platform measures how a brand appears across five AI answer engines: ChatGPT (OpenAI), Gemini (Google), Claude (Anthropic), Perplexity, and Microsoft Copilot. This engine-neutral coverage is core to the product’s measurement methodology — scoring is independent of any single AI provider.
Internally, Anthropic’s Claude powers content-generation and keyword/prompt-derivation tasks used in the platform’s workflow.
Data Acquisition
Homepage and site content is extracted via direct HTTP fetch, with Firecrawl as a JavaScript-rendering fallback for sites that block simple requests. Search-volume data is sourced from DataForSEO.
Observability
Sentry provides error tracking across the stack. Azure Monitor with OpenTelemetry handles distributed tracing and metrics. PostHog captures product analytics and LLM-call analytics, giving the team visibility into both user behavior and AI-engine query performance.
LOCLshop improves AI Search Location by Location, Competitor by Competitor.