A premium, full-stack SEO powerhouse and web analysis platform. It combines AI-powered website insights (Knowledge Graphs, Topical Mapping) with real-time Google Search Console analytics to provide a comprehensive view of digital performance.
- Direct GSC Integration: Securely connect Google Search Console properties.
- Performance Metrics: Real-time tracking of Clicks, Impressions, Avg. CTR, and Avg. Position.
- Interactive Visualization: Dynamic historical bar charts with daily/weekly/monthly grouping.
- Smart Classification: Automated ranking of pages into categories like "Quick Wins," "Opportunities," "Top Results," and "Decaying."
- Entity Clustering: Intelligent keyword clustering to identify semantic search trends.
- Excel Export: Generate comprehensive SEO reports with a single click.
- Knowledge Graph: Interactive 3D/2D visualization of entity relationships and service maps.
- Topical Mapping: Semantic depth analysis, audience segmentation, and search intent discovery.
- Competitive Comparison: Side-by-side analysis of business models, tech stacks, and geographic reach. -ContentWriter: Professional, high-quality article generation based on the analysis (English and Thai).
- Custom Writing Prompts: Users can fine-tune and control the writing output by customising the Writing System Prompt.
- Multi-URL Processing: Analyze up to 5 competitors simultaneously.
- Background Processing: Heavy analysis tasks run asynchronously, allowing you to browse while the AI thinks.
- FastAPI: Ultra-fast Python framework with async capabilities.
- SQLAlchemy & PostgreSQL: Robust data persistence for user history and tokens.
- Google OAuth 2.0: Secure authentication for user accounts and Search Console access.
- Groq/DeepSeek: Powering the semantic analysis and knowledge extraction.
- React 18: Built for performance and reliability.
- Vite: Modern build orchestration.
- Recharts: Professional, interactive data visualization.
- Framer Motion: Smooth, high-end micro-animations and transitions.
- Tailwind CSS: Custom "Glassmorphism" design system.
- Python 3.9+
- Node.js 18+
- PostgreSQL database
- Google Cloud Console Project (with Search Console API enabled)
DATABASE_URL=postgresql://user:password@localhost:5432/dbname
GOOGLE_CLIENT_ID=your_client_id
GOOGLE_CLIENT_SECRET=your_client_secret
SECRET_KEY=your_jwt_secret
ALLOWED_ORIGINS=http://localhost:5173VITE_GOOGLE_CLIENT_ID=your_client_id
VITE_API_BASE_URL=Backend Setup:
cd backend
python -m venv venv
pip install -r requirements.txt
source venv/bin/activate && uvicorn main:app --host 0.0.0.0 --port 8000 --reloadFrontend Setup:
cd frontend
npm install
npm run devTo enable fully functional Search Console integration, ensure your Google Cloud project is configured with:
- Scopes:
https://www.googleapis.com/auth/userinfo.emailhttps://www.googleapis.com/auth/userinfo.profilehttps://www.googleapis.com/auth/webmasters.readonly(Search Console)
- Redirect URIs:
http://localhost:5173/auth/callback
- Client Configuration: Set
Access TypetoOfflineto allow the platform to refresh tokens in the background.
The platform generates comprehensive SEO articles based on a two-step AI generation flow:
- Brief Generation: Analyzes the topic, category, and article type to output a detailed structure/brief.
- Article Generation: Uses the brief along with custom style instructions to generate the final article in Markdown.
Users can fine-tune and control the writing output by customising the Writing System Prompt:
- Where to find it: In the Topical Map view (after running an analysis), click the Settings (gear icon) button next to "Export Map to PDF".
- Language Support: Supports independent settings for both English (π¬π§) and Thai (πΉπ).
- How it works:
- The customized prompt is saved in the browser's
localStorage(writing_prompt_en/writing_prompt_th). - When generating an article, the frontend passes this prompt as the
system_promptfield in the payload toPOST /api/article/{analysis_id}. - If left blank, it falls back to the default SEO-optimized prompts defined in
backend/services/brief_generator.py(DEFAULT_EN_SYSTEM_PROMPT/DEFAULT_TH_SYSTEM_PROMPT).
- The customized prompt is saved in the browser's
web/
βββ backend/
β βββ api/
β β βββ routes.py # All REST API endpoints (analysis, GSC, articles, auth)
β βββ auth/
β β βββ auth.py # JWT token creation and verification
β βββ models/
β β βββ schemas.py # Pydantic request/response schemas
β βββ services/
β β βββ ai_service.py # OpenAI & DeepSeek API integration wrapper
β β βββ brief_generator.py # SEO article brief + full article generation
β β βββ comparator.py # Side-by-side competitor comparison logic
β β βββ gsc_service.py # Google Search Console data integration
β β βββ knowledge_graph.py # Knowledge graph entity extraction
β β βββ scraper.py # Web scraping and content extraction
β β βββ serp_service.py # SerpAPI integration for SERP analysis
β β βββ sitemap_service.py # Sitemap parsing and URL discovery
β β βββ topical_map.py # Topical map generation and semantic analysis
β βββ utils/
β β βββ progress_tracker.py # SSE-based real-time progress tracking
β β βββ storage.py # In-memory analysis result storage
β β βββ user_manager.py # User session management helpers
β βββ config.py # App settings loaded from .env
β βββ database.py # SQLAlchemy engine & PostgreSQL session setup
β βββ main.py # FastAPI app entry point & CORS configuration
β βββ requirements.txt # Python dependencies
βββ frontend/
βββ src/
β βββ api/
β β βββ axios.js # Axios instance with base URL configuration
β βββ components/
β β βββ ui/ # Reusable UI primitives (Button, Card, Badge, etc.)
β β βββ visualizations/
β β β βββ KnowledgeGraph.jsx # Interactive 3D/2D knowledge graph
β β β βββ TopicalMap.jsx # Topical map view with article writer & prompt settings
β β β βββ Comparison.jsx # Competitor comparison panel
β β βββ layout/ # App shell, sidebar, and navigation components
β β βββ modals/ # Modal dialog components
β β βββ editor/ # Article/document editor components
β β βββ gsc/ # GSC-specific chart and data components
β β βββ auth/ # Login and OAuth callback components
β βββ context/
β β βββ AuthContext.jsx # Global auth state & Google OAuth flow
β βββ pages/
β β βββ Dashboard.jsx # Main SEO analytics overview
β β βββ SEOAnalytics.jsx # Detailed GSC metrics and query analytics
β β βββ NewAnalysis.jsx # Competitor URL input and analysis launcher
β β βββ Results.jsx # Analysis results with tab navigation
β β βββ Documents.jsx # Article/document management page
β β βββ DocumentDetail.jsx # Single article editor and publisher
β β βββ History.jsx # Past analysis history
β β βββ MySites.jsx # User's connected GSC properties
β β βββ PagesPage.jsx # Page-level GSC performance data
β β βββ QueriesPage.jsx # Keyword/query performance data
β β βββ CountriesPage.jsx # Geographic performance breakdown
β β βββ GlobalReports.jsx # Aggregated cross-site reporting
β β βββ NewLostRankingsPage.jsx # New vs. lost keyword rankings
β β βββ PageSelector.jsx # Property/page selection utility
β βββ App.jsx # Route definitions
β βββ main.jsx # React app entry point
βββ index.html # HTML shell
This project is ready for production hand-off. Key areas for future developers:
- PostgreSQL: The project uses PostgreSQL for data persistence via SQLAlchemy.
- Database Migrations: Schema changes are currently applied manually. Alembic can be added for structured versioned migrations.
- Deployment Guide: See DEPLOYMENT.md for full instructions on running the app on your Hostinger VPS with Nginx and PM2.
- Local Setup: See QUICKSTART.md for running the app locally.
MIT Β© TBS Marketing
For technical support or feature requests, contact the development lead or open an internal issue.

