A powerful web application for comparing search results from different providers like Upstash, Algolia, and more. Run search battles to evaluate and compare the performance of different search engines with your queries.
- Node.js 18+
- PostgreSQL database
- OpenRouter API Key (for LLM evaluation, optional)
- Optional Upstash Redis credentials for rate limiting
git clone <repository-url>
cd search-arena
pnpm install
Create a .env
file in the root directory with the following variables:
# Database
DATABASE_URL="postgresql://username:password@localhost:5432/search_arena"
# OpenRouter (for LLM evaluation using Gemini 2.5 Flash, optional)
OPENROUTER_API_KEY="your-openrouter-api-key"
# Optional: Site configuration for OpenRouter
SITE_URL="http://localhost:3000"
SITE_NAME="Search Arena"
Run the database migrations:
pnpm drizzle-kit push
pnpm dev
- Click "Add Database" to configure a new search provider
- Select your provider, currently only Upstash and Algolia are supported
- Enter credentials in the .env format:
For Upstash:
UPSTASH_URL=your-upstash-url
UPSTASH_TOKEN=your-upstash-token
UPSTASH_INDEX=your-index-name
For Algolia:
ALGOLIA_APPLICATION_ID=your-app-id
ALGOLIA_API_KEY=your-api-key
ALGOLIA_INDEX=your-index-name
- Click "New Battle" to create a search comparison
- Select two databases to compare
- Add your search queries in the text area, one query per line
- Run the battle
- View and compare the results