How yaojingang/georank works
GEOrank is a self-hosted GEO workbench. Its user workflow runs from discovering company and expert resources, through website diagnosis and AI-assisted Q&A, to actionable plans and reusable keyword, structured-data, and knowledge assets. Next.js web and admin apps use a shared API SDK to reach a FastAPI backend; backend services coordinate AI and persistence. The README documents capabilities not represented by sampled source, so those are shown at subsystem level. Some links are documented workflows rather than inspected call chains.
Main entry points: web Web Workbench · main.py FastAPI Application · components Admin Console · companies.py Company Directory API
Components 21
User Experience
- Web Workbench
apps/web - Directories and Tutorials
backend/app/web - GEO Tools
apps/web/app/[locale]/tools/page.tsx - Sign-in and Account
apps/web/components/auth/auth-form.tsx - Admin Console
apps/admin/components
API and Domain
- FastAPI Application
backend/app/main.py - Company Directory API
backend/app/api/routes/companies.py
AI and Analysis
- Website Diagnostics
backend/app/api/routes/diagnostics.py - AI Q&A
backend/app/services/ai_client.py - GEO Action Plans
backend/app/api/routes/solutions.py - Keyword Expansion
backend/app/api/routes/keywords.py - Company Ingestion
backend/app/services/company_ingest.py
Content and State
- Expert Channel
backend/app/api/routes/experts.py - Content and Homepage
backend/app/services/homepage_assets.py - Runtime Settings
backend/app/services/runtime_settings.py
Shared Platform
- API SDK
packages/api-sdk/src/client.ts - Relational Database
backend/app/core/database.py - Vector and Graph Stores
backend/app/services/vector_store.py - Object Storage
backend/app/services/storage.py
Other components
- GEO User
- Model Provider
Connections 29
- GEO User → Web Workbench: uses
README.md - Web Workbench → Directories and Tutorials: browses
README.md - Web Workbench → Website Diagnostics: submits site
README.md - Web Workbench → AI Q&A: asks questions
README.md - Web Workbench → GEO Action Plans: requests plans
README.md - Web Workbench → Keyword Expansion: expands terms
README.md - Web Workbench → GEO Tools: uses tools
README.md - Web Workbench → Sign-in and Account: authenticates
README.md - GEO User → Admin Console: administers
README.md - Admin Console → API SDK: calls
apps/admin/components/companies/admin-companies.tsx - Web Workbench → API SDK: calls
apps/web/components/auth/auth-form.tsx - API SDK → FastAPI Application: sends API requests
- FastAPI Application → Company Directory API: mounts routes
- FastAPI Application → Website Diagnostics: mounts routes
- FastAPI Application → GEO Action Plans: mounts routes
- FastAPI Application → Expert Channel: mounts routes
- FastAPI Application → Keyword Expansion: mounts routes
- FastAPI Application → Content and Homepage: serves homepage
backend/app/main.py - Company Directory API → Company Ingestion: plans ingestion
- AI Q&A → Model Provider: requests generation
README.md - Website Diagnostics → Relational Database: stores reports
- GEO Action Plans → Relational Database: stores plans
- Company Directory API → Relational Database: reads and writes
- AI Q&A → Vector and Graph Stores: retrieves context
backend/app/services/ai_client.py - Company Ingestion → Vector and Graph Stores: builds knowledge assets
- Runtime Settings → Relational Database: reads and writes
backend/app/services/runtime_settings.py - Content and Homepage → Object Storage: stores assets
- Admin Console → Runtime Settings: manages configuration
README.md - Admin Console → Company Directory API: manages directory
README.md