Skip to main content

Installation

Get AEO/GEO Analytics up and running on your local machine in just a few minutes.

Prerequisites

Before you begin, ensure you have the following installed:

Check Your Installation

Verify your Node.js and npm versions:

node --version
# Should output v18.0.0 or higher

npm --version
# Should output 8.0.0 or higher

Clone the Repository

Clone the AEO/GEO Analytics repository from GitHub:

git clone https://github.com/signal-x-studio/aeo-geo.git
cd aeo-geo

Install Dependencies

Install all required npm packages:

npm install

This will install:

  • Next.js 15 (App Router)
  • React 19
  • Supabase client libraries
  • LLM provider SDKs (Anthropic, OpenAI, Google AI)
  • UI components (Shadcn/UI, Tailwind CSS)
  • All other dependencies
tip

The installation typically takes 1-2 minutes depending on your internet connection.

Set Up Supabase

1. Create a Supabase Project

  1. Go to supabase.com and sign in
  2. Click "New Project"
  3. Fill in project details:
    • Name: aeo-geo-analytics (or your preferred name)
    • Database Password: Create a strong password (save this!)
    • Region: Choose closest to you
  4. Click "Create new project"
  5. Wait 2-3 minutes for provisioning

2. Get Your Supabase Credentials

Once your project is ready:

  1. Go to Project SettingsAPI
  2. Copy these values (you'll need them next):
    • Project URL: https://your-project-id.supabase.co
    • anon/public key: Long string starting with eyJ...

3. Run Database Migrations

AEO/GEO Analytics includes pre-built database migrations. Run them to set up all tables:

# Login to Supabase CLI (first time only)
npx supabase login

# Link to your project
npx supabase link --project-ref your-project-id

# Run migrations
npx supabase db push
info

Your project-ref is the alphanumeric ID in your Supabase URL: https://zxmnxsqhjmftgrlnapey.supabase.cozxmnxsqhjmftgrlnapey

This creates the following tables:

  • llm_queries - Query metadata
  • llm_responses - LLM provider responses
  • citations - Extracted citations
  • domains - Domain tracking
  • query_sets - Query library collections
  • saved_queries - Individual saved queries
  • query_set_tags - Query tags

Configure Environment Variables

Create a .env.local file in the project root:

cp .env.example .env.local

Edit .env.local and add your credentials:

# Supabase Configuration
NEXT_PUBLIC_SUPABASE_URL=https://your-project-id.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJ...your-anon-key...

# LLM Provider API Keys (add at least one)
ANTHROPIC_API_KEY=sk-ant-... # For Claude
OPENAI_API_KEY=sk-... # For GPT-4
GOOGLE_AI_API_KEY=... # For Gemini
PERPLEXITY_API_KEY=pplx-... # For Perplexity
Important
  • Replace your-project-id with your actual Supabase project ID
  • Replace eyJ... with your actual anon key (must be on a single line!)
  • Add at least one LLM provider API key to execute queries

Where to Get API Keys

Start the Development Server

Launch the application:

npm run dev

Open your browser to http://localhost:3000

You should see the AEO/GEO Analytics dashboard! 🎉

Verify Installation

Check API Keys

Navigate to /dashboard/execute and verify:

  • ✅ Green checkmarks for configured providers
  • ⚠️ Warnings for missing API keys

Run a Test Query

  1. Go to Execute page
  2. Enter a test query: What are the best running shoes for beginners?
  3. Select a provider (must have valid API key)
  4. Click Execute Query
  5. View results with citations

If you see results with extracted citations, your installation is complete!

Common Installation Issues

Node Version Error

Error: The engine "node" is incompatible with this module

Solution: Upgrade to Node.js 18 or higher:

node --version  # Check current version

Download latest from nodejs.org

Supabase Connection Error

Error: Invalid Supabase URL or Invalid API key

Solution: Verify your .env.local file:

  • URL should start with https:// and end with .supabase.co
  • Anon key should be a long string starting with eyJ (no spaces or newlines)
  • No quotes around values

Migration Errors

Error: relation "llm_queries" does not exist

Solution: Ensure migrations ran successfully:

npx supabase db push

Check Supabase dashboard → Table Editor to verify tables exist.

Next Steps

Now that installation is complete:

  1. Configuration → - Fine-tune your setup
  2. Quick Start → - Execute your first queries
  3. User Guide → - Explore all features

Need Help?