explaingit

aviral-1008/switch-board

Analysis updated 2026-05-18

0CSSAudience · developerComplexity · 3/5LicenseSetup · moderate

TLDR

A self-hosted web app that sends one prompt to many AI providers at once and streams all their answers side by side in real time.

Mindmap

mindmap
  root((Switchboard))
    Core Idea
      One Prompt
      Many Models
      Side by Side
    Providers
      OpenAI
      Anthropic
      Gemini
      Groq
      Mistral
    Features
      Live Streaming
      Per Model Threads
      Voice Input
      Session History
    Privacy
      Keys In Browser
      No Server Logging
    Deployment
      Gunicorn
      Nginx Or Caddy

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Compare how different AI models respond to the same prompt side by side in real time.

USE CASE 2

Keep a separate conversation thread per model so you can drop or add a model mid-conversation without losing context.

USE CASE 3

Use voice input to speak a prompt instead of typing it, with a chance to review before sending.

USE CASE 4

Self-host the app so your API keys never leave your own browser.

What is it built with?

PythonJavaScriptCSSGunicorn

How does it compare?

aviral-1008/switch-board0verflowme/alarm-clockagg23/csse333project
Stars0
LanguageCSSCSSCSS
Last pushed2022-10-032018-01-21
MaintenanceDormantDormant
Setup difficultymoderateeasymoderate
Complexity3/52/53/5
Audiencedevelopervibe coderdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires your own API keys for each AI provider you want to use, keys are entered and stored in the browser.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

In plain English

Switchboard is a self-hosted web app that lets you send one question to many different AI chat models at the same time and see all their answers appear side by side. Instead of picking a single AI provider and copying the same prompt into different websites one by one, you type it once in Switchboard and it fans out to OpenAI, Anthropic, DeepSeek, Google Gemini, Groq, NVIDIA NIM, OpenRouter, Mistral, xAI, Together AI, and Cerebras all at once. The answers stream in live, appearing word by word as each model generates them, rather than making you wait for a full response before you see anything. Each model keeps its own separate conversation thread, called a line, so you can mute one model or swap in a different one partway through a conversation without losing the history of the others. Your API keys for each provider are stored only in your browser's local storage and are sent straight from your browser to that provider. The server that runs Switchboard never sees or logs your keys. There is also a voice input option using the browser's built in speech recognition, letting you speak a prompt and review it before sending. Conversations are saved automatically on your device so you can come back to them later, and any response can be copied as Markdown text with the model's name attached. The app has three main pages: a home page describing the product, the actual chat app, and an about page explaining privacy and how it works. To run it yourself, you set up a Python virtual environment, install the listed dependencies, and start the app with a single command, then open it in your browser. No separate configuration file is required since all settings live in the browser. For running in production rather than testing, the project recommends using a WSGI server such as Gunicorn along with Nginx or Caddy in front for secure connections and rate limiting. The code includes security headers on every response and checks on user input length and model names before making outgoing requests. It is released under the MIT license.

Copy-paste prompts

Prompt 1
I'm building an app that streams responses from multiple AI providers in parallel. Show me how to fan out one prompt to several chat APIs at once in Python.
Prompt 2
How do I store API keys only in browser localStorage and send them directly to a provider's API without my backend ever seeing them?
Prompt 3
Show me how to implement live token streaming in a web app so text appears word by word as an AI model generates it.
Prompt 4
I want to add security headers like Content-Security-Policy and X-Frame-Options to a Python web app. Show me how.
Prompt 5
How do I deploy a Python web app in production using Gunicorn behind Nginx with rate limiting?

Frequently asked questions

What is switch-board?

A self-hosted web app that sends one prompt to many AI providers at once and streams all their answers side by side in real time.

What language is switch-board written in?

Mainly CSS. The stack also includes Python, JavaScript, CSS.

What license does switch-board use?

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

How hard is switch-board to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is switch-board for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.