How to Run the OpenSEO Demo Application: Complete Example and Seed Data Guide

The OpenSEO repository ships with a fully functional demo application featuring a product demonstration video and a CLI seed script that populates a local database with synthetic rank-tracking data, allowing you to explore the entire UI without external API credentials.

The every-app/open-seo repository provides a complete demo application that demonstrates the platform's keyword research and rank-tracking capabilities without requiring a DataForSEO API key. This built-in example consists of a landing page video demonstration and a data seeding utility that creates realistic SEO project data in a local D1 SQLite database.

Components of the OpenSEO Demo Application

Landing Page Video Demo

The demo includes a product demonstration video embedded directly on the landing page. According to the source code in web/src/components/landing-page.tsx (lines 329-337), the Landing Page component streams /demo.mp4 in a section titled "OpenSEO product demo: running keyword research". This video illustrates the keyword research functionality in action before you interact with the live UI.

Synthetic Data Seed Script

The seed-rank-tracking.ts CLI script generates a complete demo environment with synthetic data. Located at scripts/seed-rank-tracking.ts, this TypeScript utility populates your local D1 database with a pre-configured "Default" project, a demo domain (acme-demo.com), approximately 20 keywords, weekly snapshot data, and both desktop and mobile position tracking that mimics real-world trend patterns.

How to Run the OpenSEO Demo Application

Follow these steps to launch the demo application locally:

  1. Install dependencies using pnpm:
pnpm install
  1. Initialize the local D1 database (run once):
pnpm db:migrate:local
  1. Seed the demo rank-tracking data using the built-in script:
pnpm seed:rank-tracking

This executes scripts/seed-rank-tracking.ts, which inserts the demo project and synthetic ranking data as implemented in lines 45-54 of the source file.

  1. Launch the application in local no-authentication mode:
AUTH_MODE=local_noauth pnpm dev

After the server starts, open http://localhost:3001 in your browser. Navigate to Rank Tracking to view the seeded keywords, weekly trend charts, and position data immediately.

Understanding the Demo Data Structure

When you run the pnpm seed:rank-tracking command, the script performs several operations defined in scripts/seed-rank-tracking.ts. According to the usage comments (lines 13-18), the script first creates a "Default" project and assigns the demo domain acme-demo.com (lines 45-54). It then inserts roughly 20 keywords with weekly snapshot data representing both desktop and mobile search positions.

Upon completion, the script outputs a confirmation message (lines 52-55) directing you to view the results in the Rank Tracking UI. This synthetic dataset allows you to test OpenSEO's charting capabilities, position history tracking, and MCP integration without consuming production API quotas or connecting to external services.

Summary

  • The OpenSEO demo application includes both a visual product demonstration video and a data seeding CLI script for local testing.
  • Run pnpm seed:rank-tracking to execute scripts/seed-rank-tracking.ts, which creates synthetic rank-tracking data for the acme-demo.com domain and a "Default" project.
  • Launch the app with AUTH_MODE=local_noauth pnpm dev to explore the UI without API credentials at localhost:3001.
  • The landing page video component in web/src/components/landing-page.tsx (lines 329-337) provides an immediate overview of keyword research functionality via the /demo.mp4 asset.

Frequently Asked Questions

Does OpenSEO require an API key to run the demo?

No. The demo application runs entirely offline using synthetic data generated by the repository's seed scripts. Set AUTH_MODE=local_noauth when starting the development server, and use the pnpm seed:rank-tracking command to populate the local D1 database. No DataForSEO API credentials are required to explore the Rank Tracking UI or view the demo video.

What data is created by the seed-rank-tracking.ts script?

The script creates a complete demo project including a "Default" project container, the acme-demo.com domain, approximately 20 keywords with weekly tracking history, and simulated desktop and mobile search positions. According to lines 45-54 of scripts/seed-rank-tracking.ts, this data appears immediately in the Rank Tracking interface after seeding completes.

Where is the demo video stored in the repository?

The demo video is embedded in the landing page component at web/src/components/landing-page.tsx (lines 329-337), which references the /demo.mp4 asset. The video demonstrates the keyword research interface and streams automatically when viewing the landing page at the root URL of the running application.

Can I modify the demo data before seeding?

Yes. You can edit scripts/seed-rank-tracking.ts before running pnpm seed:rank-tracking. The demo domain (currently acme-demo.com) and project name ("Default") are defined in lines 45-54 of the script, making them easy to customize for your specific testing requirements.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →