So I built llmcanvas.chat. The name says it all; you can branch, regenerate across models and compare: all in one infinite canvas.
Every prompt and response is a node in the canvas and it brings ultimate flexibility on how you interact with the LLM, while keeping the old-school way of chatting linearly.
Bring your own keys, 4 providers supported: Anthropic, OpenAI, Gemini, and OpenRouter.
Try it: llmcanvas.chat. I'd love to hear your feedback.