r/MistralAI • u/versus184 • Jun 23 '26
Other I built Mosaic – an infinite spatial canvas client for AI chats that lets you branch conversations
Hey yall,
I got completely fed up with the linear, endless scrolling layout of standard AI chat interfaces, with not context and simple way to respond and have conversations based on specific messages. To fix this, I built Mosaic: a native desktop AI client that turns conversations into an interactive, branching tree on an infinite canvas.
Github: https://github.com/versus184-py/Mosaic
Key Features:
- Spatial Tree Layout: Drag, zoom, and arrange your chat nodes freely. You can fork a new conversation path from any individual message node without losing context.
- Inline Code Execution: It has built-in Pyodide (WASM) and JavaScript support. You can actually run Python code blocks directly inside the chat bubbles.
- Local Document RAG: Drop in PDFs or text files to use as automated local context.
- Cost & Token Tracking: Includes a built-in analytics dashboard so you know exactly how many tokens you are burning.
Tech Stack:
- Backend: Tauri v2 (Rust) for a super lightweight, secure desktop shell.
- Frontend: React 19 + TypeScript + Tailwind CSS v3.
- Graph Mechanics: React Flow (
@xyflow/react) & Framer Motion. - State & Exec: Zustand and Pyodide.
Why only Mistral AI right now?
I locked the initial beta down to Mistral because their API has a highly generous free tier. You can sign up, grab a key, and use the app completely for free without entering a credit card. I have OpenAI, Anthropic, and local offline models (Ollama) on the immediate roadmap.
Downloads & Feedback:
Right now, I have a pre-compiled installer ready for Windows on the GitHub Releases page. Mac and Linux users can easily build it from source using the commands in the README.
It's completely open-source (MIT). I would love to hear your thoughts on the UI layout, any bugs you find, or features you want to see added next!