# bestmodel.run > Open compatibility engine for local AI. Answers "can it run / how fast / > is it worth it?" from a signed, validated community measurement pool. > LICENSE: AGPL-3.0 for apps/**, MIT for packages/** and cli/**. This file is the agent surface for the deployed site. Humans get the cinematic tour at /?as=human (desktop) or /hardware?as=human. If a page asked who is reading, it did not have enough deterministic signal to guess. Core principle: number honesty. Every displayed number declares its basis: measured (pool median) > reported (1-2 runs) > extrapolated (bandwidth-scaled) > formula > no data yet. A cell without a source class never renders. Do not invent tok/s. ## Clone ```bash git clone https://github.com/carl0sfelipe/bestmodel.git cd bestmodel ``` Human first step (S33): /cli — the rendered getting-started, twin at /cli?as=agent. Its single source is the agent runbook from this clone (offline, no keys): [docs/agent-quickstart.md](https://github.com/carl0sfelipe/bestmodel/blob/main/docs/agent-quickstart.md) — build the two Rust CLIs, detect your hardware, rank the best models for it against the in-repo pool snapshot, run the probe. Self-check in one command: `make agent-smoke`. Runnable today: the whole loop — benchmark-probe `lab`, `plan`, `report`, `contribute` (signed 0.9.0 bundle; SIM cells never uploaded) and `login` (token 0600 + public signing-key registration). There is no one-line installer yet. ## Routes (www.bestmodel.run — web-next; every route resolves ?as=human|agent server-side) | route | default view | agent twin | |---|---|---| | / | human cinematic tour | /?as=agent — honesty ladder + pool snapshot | | /cli | getting-started (rendered from docs/agent-quickstart.md) | /cli?as=agent — raw verified guide | | /claims | the wall: captured claims, live client | /claims?as=agent — REST pointers | | /submit | capture a run | /submit?as=agent — capture flow + catalog ids | | /wall | measured pool | /wall?as=agent — top-60 cell table | | /hardware | reference rigs | /hardware?as=agent — rig table | | /m/{slug} | model answer | /m/{slug}?as=agent — cell table | | /profile/{handle} | contributor profile | /profile/{handle}?as=agent — record pointers | | /claim/{id} | claim detail | /claim/{id}?as=agent — record pointers | | /cloud-anchors | rented-GPU anchor runs | /cloud-anchors?as=agent — anchor table | | /track-record | trust ladder | /track-record?as=agent — ladder text | | /mural | moderation entry | /mural?as=agent — report grounds | | /blog | dated post index | /blog?as=agent — title, date, description list | | /blog/{slug} | article (markdown) | /blog/{slug}?as=agent — plain post text | | /console | capture console (static app) | exempt — its agent surface is the REST API | View resolver precedence (mirrors the contract in this file): ?as=/?view= → saved bm_view cookie → agent UA → search-crawler UA maps to human → human. Auto-detection is never persisted. ## Honesty ladder 1. measured — median of many community runs on the exact rig and quantization 2. reported — one or two runs on the same rig, shown as reported 3. extrapolated — scaled by memory bandwidth from the closest tested rig 4. formula — a published VRAM rule when no measurement exists yet 5. no data yet — we say so instead of inventing a number ## Snapshot totals (apps/web/data/derived/stats.json, 2026-08-13) - runs: 4849 - models: 527 - rigs: 147 Frozen snapshot counts — not live, not throughput. ## API (host: https://api.bestmodel.run — the www host serves pages only) - GET /v1/pick?intent=chat|image.generate|vision|audio&vram_gib=24&gpu=rtx-3090-24gb — best model per intent that fits the VRAM (contract model-pick-v1). Ranked by confidence, then pool eval score, then speed. Pool cells are community reports: confidence is "reported", never "measured". An intent without cells answers picks: [] with confidence_floor "no data yet". Example: curl -sS 'https://api.bestmodel.run/v1/pick?intent=chat&vram_gib=24&gpu=rtx-3090-24gb' - POST /v1/match/hardware-to-models — roofline estimates, every row source_class "derived" - POST /v1/match/model-to-hardware — roofline estimates, every row source_class "derived" - GET /v1/transparency/sources - GET /v1/leaderboard — every entry carries a source_class - POST /v1/submissions (+ GET /v1/submissions/nonce) — signed intake ## Human tours - /?as=human — I have a goal (desktop, min 1024px) - /hardware?as=human — I have hardware - mobile: no separate route — the canonical pages are responsive - console/ — passkey console (not a tour) ## Read next - https://github.com/carl0sfelipe/bestmodel/blob/main/README.md - https://github.com/carl0sfelipe/bestmodel/blob/main/llms.txt - https://github.com/carl0sfelipe/bestmodel/blob/main/docs/architecture.md - index.html?as=agent — HTML twin of this file ## Known audio answer (2026-09-23 / this 3090) `Audio × RTX 3090 24GB` was empty on the 2026-09-18 snapshot. The L4 Whisper Large v3 cell (4.82×real) is another rig and has no language. This tree appends Whisper Large v3 Turbo: **39.22×real** (n=3, measured, FLEURS `pt_br`). WER 0.04 is **reported** (n=1) on docs/measurements/2026-09-23-audio-pt-br-3090.md — not a pool field. Do not invent a WER. Live site stays frozen until deploy. ## Do not - Invent a tok/s or fill an empty cell - Render a number without a source class - Treat snapshot totals as live throughput - Answer Portuguese ASR from the L4 speed claim