๐ŸŒ GEO Checker

June 10, 2026 ยท View on GitHub

Audit your landing page's AI search visibility and citation potential in seconds. A production-ready, self-hostable Next.js SaaS boilerplate for marketers, SEO agencies, and developers โ€” checks how well pages are indexed and cited by AI search engines like ChatGPT, Perplexity, and Gemini. A free open-source alternative to SEMrush, Surfer SEO, and enterprise GEO auditing suites โ€” powered by the MuAPI AI engine.

Tech stack: Next.js 14 (App Router) ยท Prisma ยท PostgreSQL ยท NextAuth (Google OAuth) ยท Stripe ยท Tailwind CSS ยท MuAPI (Gemini 2.5 Flash via any-llm) Use cases: Marketing agency SEO reports ยท Landing page AI visibility audits ยท Pre-launch GEO optimization ยท Content teams ยท Startup growth ยท SaaS product pages ยท AI search ranking research ยท SEO consultants

GEO Checker Interface Screenshot

Awesome Generative AI Apps

๐ŸŽจ Explore 50+ more open-source AI apps โ†’

๐ŸŒ Project Details

GitHub Repository: github.com/SamurAIGPT/geo-checker

Live Demo Preview: geo-checker-silk.vercel.app


GEO Checker is a production-ready, highly-optimized AI web application. Out of the box, it seamlessly manages User Authentication, Credits & Billing, Website HTML Scraping, and asynchronous deep AI reviews using a sleek Next.js (App Router) architecture. It empowers users, agencies, and developers to analyze website copy against LLM indexing rules โ€” all within a stunning visual dashboard.

Why use GEO Checker?

  • Production-Ready SaaS โ€” Complete with Google OAuth and Stripe Checkout workflows built-in.
  • Virtual GEO Audit Studio โ€” Enter any landing page URL and your target keyword niche to get immediate optimization reviews.
  • Webhook-Backed AI Delivery โ€” MuAPI async webhook delivers results directly into the database (/api/webhook/muapi), keeping API routes non-blocking and preventing request timeouts.
  • Personal Showroom Gallery โ€” All generated reports are saved to PostgreSQL. Users can review, compare, download, and delete their audits from /gallery.
  • Responsive Screen-Fitting โ€” Designed with a fluid layout that fits perfectly on all screens (mobile, tablet, desktop) using stacked adaptive grids on mobile and viewport-locked scrolling on desktop.

โœจ Core Features

๐ŸŽจ GEO Auditor Studio (Main Page /)

  • Website url entry alongside custom query target keyword inputs.
  • Multi-Select checkboxes to specify which engines to optimize for:
    • ChatGPT Search
    • Perplexity AI
    • Google AI Overviews
    • Claude Sonnet
    • Gemini Pro
  • Advanced settings dropdown panel for:
    • Prioritize Reasoning Depth (toggles slower deep-reasoning chains)
    • Audit Structured Schema (validates JSON-LD semantic models)
  • Cost: 18 credits per AI Visibility simulation.
  • Visual card grid of all generated website audits.
  • Cards show a thumbnail/niche description, visibility score, target query, and status (processing / completed / failed).
  • Full-screen details modal with a floating overview of recommendations, sitemap rules, and direct Export JSON actions utilizing the local proxy.

๐Ÿ’ณ Stripe Credit Billing (/pricing)

  • Four credit packs based on a $1 = 200 credits conversion rate:
    • Basic Pack ($5 / 1,000 credits)
    • Standard Pack ($10 / 2,000 credits)
    • Professional Pack ($20 / 4,000 credits โ€” Most Popular)
    • Business Pack ($50 / 10,000 credits)
  • No recurring subscriptions โ€” pay once, use at your own pace.
  • Credit balance is automatically topped up via Stripe webhook on checkout completion.

๐Ÿ” Google Auth + Credit Persistence

  • NextAuth Google provider with Prisma adapter โ€” user sessions, credit balances, and galleries are all persisted per account.
  • Credits displayed live in the Navbar with a pulsing coin icon.

โšก Deployment: Vercel & Production

This architecture is engineered explicitly for Vercel serverless environments.

One-Click Deploy

Deploy with Vercel

Live App: geo-checker-silk.vercel.app

๐Ÿ”‘ Required Environment Variables

To successfully deploy and run, you must populate the following environment variables in your Vercel project settings:

ServiceVariableDescription & Source
DatabaseDATABASE_URLPostgreSQL connection string (Supabase or Neon)
NextAuth / GoogleNEXTAUTH_SECRETSecure random string generated via openssl rand -base64 32
NEXTAUTH_URLYour production domain (e.g. https://my-app.vercel.app)
WEBHOOK_URLPublic URL for MuAPI async callbacks (same as NEXTAUTH_URL in production)
GOOGLE_CLIENT_IDGet from Google Cloud Console
GOOGLE_CLIENT_SECRETGet from Google Cloud Console
Stripe BillingSTRIPE_SECRET_KEYGet from Stripe Dashboard
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEYGet from Stripe Dashboard
STRIPE_WEBHOOK_SECRETWebhook secret for resolving credit purchases
AI GenerationMUAPIAPP_API_KEYCreate an account and get key from muapi.ai

๐Ÿš€ Launching on Vercel: Step-by-Step

  1. Database Provisioning: Create a new Postgres database (via Supabase or Neon). Retrieve the connection string (DATABASE_URL).
  2. Project Creation: Import your GitHub fork into the Vercel dashboard.
  3. Configure Environment Variables: Copy the variables above into the Vercel project settings environment tab.
  4. Deploy: Hit "Deploy". Vercel will automatically run the build steps (npm run build).
  5. Database Push: Run npx prisma db push to synchronize database models before launching.
  6. Integrations Setup:
    • Establish a Google Cloud OAuth app, enabling the callback URL: https://your-app.vercel.app/api/auth/callback/google
    • Setup a Stripe Webhook, pointing to https://your-app.vercel.app/api/stripe/webhook and selecting the checkout.session.completed event.
    • Register a MuAPI Webhook pointing to https://your-app.vercel.app/api/webhook/muapi to receive async generation results.

๐Ÿ› ๏ธ Local Development

Ready to iterate locally? Setup is straightforward.

Prerequisites

  • Node.js (v18 or higher)
  • A local PostgreSQL instance or a free cloud Database URL.
  • ngrok (optional, for local MuAPI webhook testing)

Setup

# 1. Clone the repository
git clone https://github.com/SamurAIGPT/geo-checker
cd geo-checker

# 2. Install dependencies
npm install

# 3. Setup Environment
cp .env.example .env
# Open .env and insert your specific keys.

# 4. Initialize Database Schema
# Note: Because the database is shared, see the Safety Warning below!
npx prisma generate
npx prisma db push

# 5. Start the Development Server
npm run dev

The console should now be active on http://localhost:3000.

Webhook Tip: For local MuAPI webhook testing, run ngrok http 3000 and set WEBHOOK_URL to the generated HTTPS URL in your .env.


โš ๏ธ Database Safety Warning (Shared Pool)

The workspace database is shared with other applications. Running npx prisma db push on a clean, empty schema will drop tables belonging to other applications. Always follow the Pull-Declare-Push-Cleanup sequence:

  1. Run npx prisma db pull to fetch all database tables.
  2. Declare your GeoReport table and update the relations on the User model.
  3. Run npx prisma db push to add your changes safely.
  4. Clean up schema.prisma to keep only NextAuth models, GeoReport, and the updated User relations.
  5. Run npx prisma generate to rebuild the type-safe client.

๐Ÿ—๏ธ Technical Architecture

geo-checker/
โ”œโ”€โ”€ prisma/
โ”‚   โ””โ”€โ”€ schema.prisma           # Postgres schema (User, Account, Session, GeoReport)
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ app/                    # Next.js App Router
โ”‚   โ”‚   โ”œโ”€โ”€ page.js             # Main Studio Workspace (Auditor Interface)
โ”‚   โ”‚   โ”œโ”€โ”€ gallery/            # Dedicated showroom gallery view grid
โ”‚   โ”‚   โ”œโ”€โ”€ pricing/            # 4-Plan credit pricing grid (\$1 = 200 credits)
โ”‚   โ”‚   โ””โ”€โ”€ api/
โ”‚   โ”‚       โ”œโ”€โ”€ auth/           # NextAuth handler
โ”‚   โ”‚       โ”œโ”€โ”€ scrape/         # Website HTML scrape utility proxy
โ”‚   โ”‚       โ”œโ”€โ”€ generation/     # Credit deduction + MuAPI trigger endpoint
โ”‚   โ”‚       โ”œโ”€โ”€ creations/      # GET / DELETE creations history (with webhook bypass sync)
โ”‚   โ”‚       โ”œโ”€โ”€ download/       # CORS proxy for exporting JSON report files
โ”‚   โ”‚       โ”œโ”€โ”€ webhook/muapi/  # MuAPI async webhook callback handler
โ”‚   โ”‚       โ””โ”€โ”€ stripe/         # Stripe checkout creation + checkout webhook
โ”‚   โ”œโ”€โ”€ components/
โ”‚   โ”‚   โ”œโ”€โ”€ Providers.jsx       # NextAuth SessionProvider wrapper
โ”‚   โ”‚   โ””โ”€โ”€ layout/Navbar.jsx   # Sticky header with Hamburger, Vercel Deploy & credit balance
โ”‚   โ””โ”€โ”€ lib/
โ”‚       โ”œโ”€โ”€ auth.js             # NextAuth config with Prisma adapter
โ”‚       โ”œโ”€โ”€ config.js           # Central config mapping Google, Stripe, MuAPI keys
โ”‚       โ”œโ”€โ”€ prisma.js           # Cached Prisma client singleton
โ”‚       โ”œโ”€โ”€ stripe.js           # Stripe instance initializer
โ”‚       โ””โ”€โ”€ services/
โ”‚           โ”œโ”€โ”€ user.js         # Credit management service (18 credits per run)
โ”‚           โ””โ”€โ”€ billing.js      # Stripe checkout and payment webhook parser
โ””โ”€โ”€ next.config.mjs             # Next.js configuration

๐Ÿ“„ License

MIT Licensed.


GEO Checker: A premium, dark-mode, fully responsive Generative Engine Optimization audit suite built for modern search visibility analysis.