about

A gateway that owns the prompt

Route-Switch is a single-binary Go service from Skelf Research. It plays two roles at the same time: it’s an OpenAI-compatible inference endpoint your application calls, and it’s a closed-loop optimizer that rewrites the prompt templates it serves based on the traffic it has already seen.

Why this exists

Most teams running LLMs in production end up with three overlapping problems and no single tool that addresses them:

Route-Switch picks one opinionated answer: store the prompt template, the provider config, the dataset, and the analytics in the same process, and give the optimizer permission to rewrite the template when the data says it should.

What’s in the box

What it deliberately isn’t

Route-Switch isn’t a semantic router that classifies a free-form user message and silently picks “the best model” from a universe of 200 endpoints. Routing happens across the prompt+model+provider combinations you registered; selection is strategy-driven, not LLM-driven.

It isn’t an evaluation harness either. The optimizer scores candidates by replaying rows from your captured dataset under one of three built-in strategies (Similarity, ExactMatch, KeywordMatch). If you need LLM-as-judge, BLEU, ROUGE, or a classifier, implement the EvaluationStrategy Go interface and plug it in.

And it isn’t a managed service. You build the binary, you run it, you keep the SQLite and DuckDB files.

Who built it

Skelf Research is the lab that ships this project. The code is MIT; contributions are welcome via the GitHub repo. For commercial questions or longer collaborations, reach Skelf Research via the parent site.

Status: early. The Go interfaces (ModelProvider, EvaluationStrategy) are stable enough to extend; the CLI surface and config schema may still move. Pin a commit or a tagged release.