Long document, no reasoning needed: a 1M-context model at $0.30 / M input is 17× cheaper than Opus here and finishes in about 6 s. Vision is on for the charts.
{(["Model A", "Model B"] as const).map((label, i) => (
{label}{i === 0 ? "1.9 s" : "1.1 s"}
{i === 0 ? "A retry budget caps the total number of retries across a call tree so cascading retries can't amplify load…" : "Think of a retry budget as a shared allowance: every retry spends from it, and when the pool is empty callers fail fast…"}
Models are discovered from GET {"{baseUrl}"}/models or entered by hand, then appear in the picker and the Arena like any other model.
);
}
export function FeatureEndpoints() {
return (
}
flip
tone="subtle"
/>
);
}
/* ------------------------------------------------------------------------------------------------
* 7. Also: mobile PWA, keyboard-first, exports
* ---------------------------------------------------------------------------------------------- */
const ALSO = [
{ icon: , title: "Designed for phones first", body: "Bottom navigation, swipeable Arena, bottom sheets, a composer that stays above the keyboard. Install it to your home screen and it behaves like a native app." },
{ icon: , title: "Keyboard-first on desktop", body: "⌘K command palette and search, ⌘N new chat, ⌘/ model picker, ⌘Enter send, Esc stop, ⌘B sidebar. Everything reachable without a mouse." },
{ icon: , title: "Your data, portable", body: "Export any conversation as Markdown, TXT, JSON or PDF, export your whole account in one file, share a conversation or an Arena comparison with a revocable link." },
{ icon: , title: "Compare inside a chat", body: "Pick “Compare with…” on any message to run it through two to four models and continue with the one you prefer." },
{ icon: , title: "Presets that travel", body: "Save temperature, reasoning effort, output format and tools as a preset and apply it to any compatible model." },
{ icon: , title: "Temporary chats", body: "A chat you never want stored: streamed, shown, gone. Marked “Not stored in history”." },
];
export function FeatureAlso() {
return (