Multi-model AI chat · Try the live demo
Ship a real chat product—not a weekend prototype
Sinpoura is a full-stack AI workspace: accounts, persisted threads in MongoDB, and generation through xoin-js—a powerful structured multi-LLM toolkit so OpenAI, Anthropic, and other providers share one coherent server runtime. Use host keys, bring-your-own-key from the browser, or both—then own the UI and routes on top.
Package: @xoin/xoin-js—full multi-provider docs and APIs ship with the library; Sinpoura shows how to wire them in production.
Why teams pick this template
Persistence, auth, and LLMs—already wired
Skip rebuilding login walls and message stores. Focus on prompts, models, and the product layer on top.
MongoDB conversations
Threads and messages live in the database—reload, revisit, and delete with real CRUD, not session-only state.
Structured multi-model runtime
xoin-js orchestrates OpenAI, Anthropic, and more behind one powerful generate-shaped pipeline—add providers without forking your UI.
Hosted keys or BYOK
Set API keys on the server for shared quotas, or let users paste keys stored only in the browser—secrets never land in MongoDB.
Credentials auth
Registration and sign-in run through Auth.js with middleware protecting /chat—sessions are ready for stricter RBAC later.
Workspace-grade UI
Sidebar, drawer on mobile, themes, quick prompts into the composer, and avatars—polished enough to demo or deploy internally.
Readable codebase
Feature slice under features/chat, typed API routes with Zod, and YAML-backed system prompts—easy to fork and extend.
How it works
From zero to first reply in minutes
- 01
Register
Create an account—sessions gate the chat workspace so conversations stay yours.
- 02
Configure LLM access
Add OPENAI_API_KEY / ANTHROPIC_API_KEY on the host, or open Model settings and paste a browser-only key.
- 03
Chat with persistence
Every send hits POST /api/chat: validation, ownership, history, then generation via xoin-js's structured LLM layer—assistant rows persist like production.
Ready to own your AI chat stack?
Spin up Sinpoura locally with MongoDB and an auth secret, or explore the hosted demo—then fork and ship.