RadarUp
Full-stack local business intelligence app for Brazilian businesses. Compare reviews, ratings, and competitive position against nearby competitors.
What it does
RadarUp is a competitive intelligence tool for Brazilian local businesses. Owners and managers search by business name or category and city to instantly see how they rank against nearby competitors — based on Google reviews, ratings, and online presence signals.
The app also generates SEO-indexed landing pages per city and category, driving organic discovery for the product itself.
Key features
- Real-time business search by name, type, and city across 100+ Brazilian cities
- Competitive ranking and scoring within a local market segment
- Side-by-side comparison of ratings, review counts, and star breakdowns
- Per-business competitor report with diagnosis banner and digital presence analysis
- Client-side scoring, outlier filtering, clustering, and pagination — no backend round-trips
- SSR landing pages (Nuxt 3) for SEO-indexed city × category combinations
- PostgreSQL result cache with 30-day TTL to protect upstream API quota
Stack
- Backend: FastAPI (Python 3.11+) + PostgreSQL — proxies and normalizes the OpenWebNinja local business API
- Frontend SPA: Vue 3 + Vite + Pinia + Tailwind CSS + Naive UI + Chart.js
- Frontend SSR: Nuxt 3 — server-rendered SEO landing pages with JSON-LD, canonical, and Open Graph tags
- Infrastructure: Docker Compose, with a cache warm-up script for SEO pages
Architecture
The system has three tiers. The FastAPI backend acts as an adapter over the upstream API, normalizes results, and serves district data from CSV files. The Vue SPA handles all analytics client-side — scoring, ranking, and report generation — so the backend stays thin. The Nuxt SSR layer renders full HTML pages from the PostgreSQL cache, protecting API quota while enabling Google indexing.