work details

GeoSerra — GEO and SEO Platform for AI Search

An analysis platform that measures and improves visibility in search engines and AI-generated answers with actionable technical audits.

Client

GeoSerra

Start

14 Apr 2026

Completed

GeoSerra — GEO and SEO Platform for AI Search interface and project preview
Description

An analysis platform that measures and improves visibility in search engines and AI-generated answers with actionable technical audits.

Case study

Challenge

Site owners did not know why they were missing from AI answers, and classic SEO tools did not measure crawler access, citability and brand authority together. No product offered a clear GEO report for the Turkish market.

Approach

We forked and extended an open-source GEO engine and built on top of it a six-dimension scoring model with transparent weights, a parallel Python analysis pipeline, a Groq-assisted action plan and a PDF report. All of this was tied into a SaaS workspace with teams, roles, plans and share links.

Outcome

The analysis engine, PDF report, workspace and platform admin panel are complete. The product is not currently on sale and is planned to reopen once live verification of the payment providers is finished.

Tools

Next.js, TypeScript, Fastify, MySQL, Python, Lighthouse, Playwright

Key Features
  • Explainable GEO score with 6 weighted dimensions

  • Separate readiness scores for 5 AI search platforms

  • robots.txt access map for 14 AI crawlers

  • Passage-level citability scoring

  • Lighthouse and Core Web Vitals via PageSpeed Insights and CrUX

  • Three-tier plan: this week, this month, this quarter

  • PDF report with charts and colour-coded tables

  • Comparison between two analyses and task tracking

  • Team workspace with 7 roles and expiring share links

Technologies Used
  • Next.js

  • TypeScript

  • Fastify

  • MySQL

  • Python

  • Lighthouse

  • Playwright

Design Highlights
  • Instead of a single score, each finding explains why it matters and how to fix it

  • No penalty for a missing dimension; weights are rebalanced

  • A rule-based plan takes over if the AI does not respond

  • Turkish, English and German interface with an identical key set

  • Background status screen showing analysis progress

Details

GeoSerra is a GEO (Generative Engine Optimization) and technical SEO analysis platform that measures how discoverable and quotable a website is in AI search engines such as ChatGPT, Perplexity, Gemini, Google AI Overviews and Bing Copilot. It was designed for agencies, brands and SEO consultants, and its output is not a single score but an action plan that explains causes and priorities.

Context and need

Search behaviour is shifting towards AI-generated answers, yet site owners do not know why they are missing from them. Can AI crawlers reach the site? Is the content structured so it can be quoted? Is the brand recognised across platforms? Is the structured data sufficient? Classic SEO tools answer only part of these questions. GeoSerra set out to measure all of these dimensions in a single analysis and to produce a clear report, with a particular focus on the Turkish market.

Solution and scope

Free and full analysis

Visitors enter a domain; the analysis starts in the background and a status screen shows its progress. The free analysis runs a mobile Lighthouse test, a page fetch, a DNS and email security check and a citability score, and shows the GEO score, dimension scores, platform readiness, LCP and the six most important issues. Each domain gets one free analysis. The full analysis runs nine jobs in parallel: mobile and desktop Lighthouse, page fetch, DNS, performance analysis, citability, brand scan, keyword analysis, an llms.txt check and robots.txt parsing. E-E-A-T, schema, technical and platform analyses then run on the collected data without fetching the site again.

Explainable scoring

The GEO score is made up of six weighted dimensions: AI citability (25%), brand authority (20%), content E-E-A-T (20%), technical foundation (15%), schema markup (10%) and platform optimisation (10%). A missing dimension does not drag the score down; the remaining weights are rebalanced. The citability score rates each passage for answer block quality, self-containment, structural readability, statistical density and uniqueness. Brand authority looks at presence on YouTube, Reddit, Wikipedia/Wikidata and LinkedIn. The technical dimension measures HTTPS, six security headers, SPF/DMARC/DKIM and server-rendered content. From these dimensions, separate readiness scores are derived for Google AI Overviews, ChatGPT, Perplexity, Gemini and Bing Copilot.

AI crawler access map

The robots.txt file is read for 14 AI crawlers, including GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, PerplexityBot, Google-Extended, Applebot-Extended and CCBot; each is reported as allowed, restricted or blocked, with a recommendation.

AI insights and PDF report

In the full analysis, a two-step language model flow running on Groq identifies visibility barriers, target queries and brand context, then writes an executive summary and a three-tier action plan for this week, this month and this quarter. If the model does not respond, rule-based findings and a rule-based plan take over; tokens and cost are logged for every analysis. The report is generated as a PDF with ReportLab, including score gauges, charts and colour-coded tables: executive summary, score breakdown, platform readiness, crawler access, findings, action plan, technical appendices and methodology.

SaaS workspace and admin panel

The workspace, built for teams, includes projects and domains, new analysis, analysis history, a comparison screen showing the difference between two analyses, recommendations, tasks with comments and activity history, reports, team, plan and usage, integrations and settings. The professional plan adds weekly scheduled analyses. Reports are stored as versioned snapshots, with expiring and revocable share links. Seven roles (owner, admin, analyst, SEO manager, implementer, billing, viewer) map to seven permissions. A separate platform admin panel manages tenants, audit logs, analyses, payments, Pro subscribers, implementation service requests and users; write operations require explicit confirmation and critical ones a written reason.

Technical architecture

The backend runs Fastify 5 on Bun with Drizzle ORM and MySQL; the public site and both panels are built with Next.js 16 and React 19. The analysis engine is written in Python: the backend launches scripts as separate processes, each guarded by a 60-second timeout, and one failing script does not stop the others. Repeat requests for the same domain reuse the running analysis, and scheduled analyses are claimed with row locking so they never collide. Lighthouse data comes from the Google PageSpeed Insights API and field data from CrUX. The analysis engine was forked from the MIT-licensed open-source geo-seo-claude project and extended; the SaaS layer, scoring, workspace, payments and PDF pipeline were built for GeoSerra. The interface is available in Turkish, English and German, with an identical key set in every language.

SEO, security and integrations

  • Its own SEO: robots rules open to AI crawlers, a sitemap covering all languages, hreflang with x-default, llms.txt and JSON-LD markup such as Organization, SoftwareApplication, FAQPage and OfferCatalog.
  • Login and payments: Google sign-in, email verification and password reset; Stripe and PayPal payment flows, with USD-based prices displayed in TRY and EUR.
  • Security: JWT and rotating refresh tokens in httpOnly cookies, no default secrets, per-endpoint rate limits, cross-tenant access tests, share links that store only a token hash, and logs that mask sensitive data.

Today

GeoSerra's analysis engine, scoring model, PDF report, SaaS workspace and admin panel are complete. The product is not currently on sale; it is planned to reopen once live verification of the payment providers and live acceptance of the workspace are finished. Search Console and GA4 integrations and a competitor monitoring add-on are on the roadmap.