Benchmarks you can feel
We all love benchmarks, but there's nothing like a hands on vibe check. What if we could meet somewhere in the middle?
Enter BENCHY. A chill, live benchmark tool that lets you see the performance, price, and speed of LLMs in a side by side comparison for SPECIFIC use cases.
Watch the latest development video here
This project is organized as a full-stack application with clear separation between frontend and backend:
benchy/
├── client/ # Frontend Vue.js application
│ ├── src/ # Vue source code
│ │ ├── apis/ # API layer for all requests
│ │ ├── components/ # Vue components
│ │ ├── pages/ # Frontend per app pages
│ │ ├── stores/ # Frontend state and prompts
│ │ └── ... # Other source files
│ ├── public/ # Static assets
│ ├── package.json # Frontend dependencies
│ ├── vite.config.ts # Vite configuration
│ ├── uno.config.ts # UnoCSS configuration
│ └── ... # Other frontend config files
├── server/ # Backend Python server
│ ├── modules/ # Python modules
│ ├── benchmark_data/ # Benchmark configurations
│ ├── reports/ # Benchmark results
│ ├── tests/ # Python tests
│ ├── pyproject.toml # Python dependencies
│ ├── server.py # Main server file
│ ├── .env # Server environment variables
│ └── ... # Other server files
├── ai_docs/ # AI documentation
├── images/ # Project images
├── specs/ # Project specifications
├── trees/ # Git worktrees directory
├── .env # Root environment variables
├── start.sh # Convenience script to start both services
└── ... # Other project files
# Start both frontend and backend together
./start.sh
This will start:
- Frontend dev server at http://localhost:5173 (or next available port)
- Backend API server at http://localhost:8000






client/package.json - Frontend dependencies and scriptsclient/src/stores/* - Stores all frontend state and promptsclient/src/apis/* - API layer for all requestsclient/src/pages/* - Frontend per app pagesclient/src/components/* - Vue componentsclient/vite.config.ts - Vite build configurationclient/uno.config.ts - UnoCSS configurationserver/server.py - Main server routes and API endpointsserver/pyproject.toml - Python dependenciesserver/modules/llm_models.py - All LLM model definitionsserver/modules/openai_llm.py - OpenAI integrationserver/modules/anthropic_llm.py - Anthropic integrationserver/modules/gemini_llm.py - Google Gemini integrationserver/modules/ollama_llm.py - Ollama integrationserver/modules/deepseek_llm.py - Deepseek integrationserver/benchmark_data/* - Benchmark configuration filesserver/reports/* - Generated benchmark results.env - Root environment variables for API keysserver/.env - Server-specific environment variablesstart.sh - Convenience script to start both services.claude/ - Claude Code configuration and commands.claude/settings.local.json - Claude Code permissions and settings.claude/commands/prime.md - Custom Claude commands for project context# Pull Llama 3.2 latest (3B) model ollama pull llama3.2:latest
# Pull Qwen2.5 Coder 14B model ollama pull qwen2.5-coder:14b
# Pull Deepseek R1 1.5B, 7b, 8b, 14b, 32b, 70b models ollama pull deepseek-r1:1.5b ollama pull deepseek-r1:latest ollama pull deepseek-r1:8b ollama pull deepseek-r1:14b ollama pull deepseek-r1:32b ollama pull deepseek-r1:70b
# Pull mistral-small 3 ollama pull mistral-small:latest
# Pull Phi-4 model ollama pull phi4:latest
# Pull Falcon 3 10B model ollama pull falcon3:10b
# Pull Qwen 3 14B model ollama pull qwen3:14b
# Pull Gemma 3 4B model ollama pull gemma3:4b
# Pull Devstral model ollama pull devstral ```
# Navigate to client directory
cd client
# Install dependencies using bun (recommended)
bun install
# Or using npm
npm install
# Or using yarn
yarn install
# Start development server
bun dev # or npm run dev / yarn dev
# Navigate to server directory
cd server
# Create and activate virtual environment using uv
uv sync
# Set up environment variables
cp ../.env.sample ../.env # Root .env file
cp .env.sample .env # Server .env file
# Set EVERY .env key with your API keys and settings in both files
ANTHROPIC_API_KEY=
OPENAI_API_KEY=
GEMINI_API_KEY=
DEEPSEEK_API_KEY=
FIREWORKS_API_KEY=
# Start server
uv run python server.py
# Run tests
uv run pytest (**beware will hit APIs and cost money**)
# Start both services at once (recommended)
./start.sh
# Or start them separately in different terminals:
# Terminal 1: Frontend
cd client && bun dev
# Terminal 2: Backend
cd server && uv run python server.py
This project includes Claude Code configuration for enhanced development experience:
/prime command in Claude Code to quickly load project context.claude/commands/prime.md file automatically reads key project files and shows the directory structureTo use with Claude Code:
1. Open the project in Claude Code
2. Type /prime to load the project context
3. Claude will have immediate understanding of the codebase structure and key files
LLMs are non-deterministic probabilistic machines - every run produces different results.
This is a feature, not a bug. We can leverage it to see multiple versions of the future and choose the best outcome.
By running multiple AI agents in parallel on separate git worktrees, you can:
Hedge against model failures on complex tasks with multiple outcomes (startups/big tech tech does this all the time)
Get different perspectives on the same problem - choose the best implementation
Isolate and delegate your engineering work to 2-N agents
Git worktrees allow you to duplicate your entire codebase into a new branch and directory:
# Create a directory for worktrees
mkdir trees
# Create three parallel worktrees for UI improvements
git worktree add -b ui_revamp-1 trees/ui_revamp-1
git worktree add -b ui_revamp-2 trees/ui_revamp-2
git worktree add -b ui_revamp-3 trees/ui_revamp-3
# Copy environment variables to each worktree
cp .env trees/ui_revamp-1/
cp .env trees/ui_revamp-2/
cp .env trees/ui_revamp-3/
Then run separate AI agents (like Claude Code) on each worktree with the same plan/prompt. Each agent works in isolation, producing different variations.
This advanced technique requires burning significant tokens (dollars per run) but enables you to: - Work on multiple timelines simultaneously - Get different perspectives on the same problem - Dramatically increase development velocity - See multiple versions of the future, literally
As AI models improve, this parallel approach will become increasingly powerful for leveraging their capabilities at scale.
Learn to code with AI with foundational Principles of AI Coding
Follow the IndyDevDan youtube channel for more AI coding tips and tricks.
$ claude mcp add benchy \
-- python -m otcore.mcp_server <graph>