rohantewari.dev
Built at Meta Global AI Developer Hackathon · Oct 26, 2026 · Remote

The problem: We use chat heavily in our everyday lives, it even has replaced traditional search engines for many. Now, a situation which is very common, we ask a quick side question (“wait, what does that term mean?”), you either open another tab or type below the main thread, then scroll back up to find where you were. The conversation gets messy, you have to scroll up like anything and still miss where you were, and the model’s context gets polluted with detours. What Sakura Chat does: It turns a conversation into a visible tree. Every question and answer is a node. You can click any node to jump back to it, branch from any node, and open side questions in floating windows without leaving the main conversation. What makes it different from a plain branching chat: -Auto side-branching. -Before each message is sent, Muse Spark classifies it as continue, tangent, or new topic. Tangents open automatically as a floating side branch, with a toast and an undo button if the guess was wrong. Manual branching is always available. -Multi-chat sidebar with resizable panels, so each conversation has its own graph. A Context Inspector shows exactly which messages the model sees and the token budget, with automatic summarisation of older turns. -Files in: attach images (vision) and PDF, DOCX or text documents. -Files out: generate and edit images, and generate documents downloadable as PDF, DOCX or Markdown. Slash commands and suggestion chips make these quick to use. -Branch-aware context: Each branch inherits only its ancestors’ messages, never siblings or later nodes. Older turns are compacted into short summaries when a thread gets long. -Context Inspector: Click a node to see exactly what the model reads for that branch, with on/off toggles to exclude parts of the history. -Personal Identity: Original mascots (Mochi, Boba, Pip) replace loading spinners with character animations for thinking, writing, and error states which gives it a bit character than just being a chatbot. Atleast this is what i feel . How it is built: Next.js and TypeScript, React Flow for the graph, Zustand for state, and server routes that call the Meta Model API with Muse Spark. The API key stays on the server. Chat replies stream; the router and summaries are short non-streaming calls. Built solo during the hackathon. Data is stored locally in the browser; accounts and cloud sync are future work.