Multi-Model AI Chat
A full-stack chat app that puts Gemini, Claude and GPT behind one interface, switchable mid-conversation. Claude and GPT run on the user's own key, kept only in their browser.
- Role
- Full-stack developer
- Context
- Open-source app · MIT
- Stack
- Next.js 16, React 19, TypeScript, Tailwind CSS v4, Vercel AI SDK, Supabase
Overview
A full-stack chat app that puts Gemini, Claude and GPT behind one interface, so you can switch models in the middle of a conversation.
Gemini runs on a server-side key. Claude and GPT use a bring-your-own-key flow: the key is stored only in the user's browser and never on the server. The project is open source under the MIT license.
Accounts & history
- 01
Real accounts
Email and password sign-in, password reset, resent confirmation emails and account deletion.
- 02
Saved history
Every chat and message is saved. Pin, rename, search or delete conversations.
- 03
Row-level security
Data lives in Supabase Postgres, protected by row-level security.
Answers that do more
- 01
Web search
Gemini's Google Search grounding, with the sources rendered as citations.
- 02
Generative UI
Instead of plain text, the model can render a plan, its chain-of-thought, a React Flow node diagram or an audio player inline.
- 03
Rich formatting
Markdown with syntax highlighting, math and Mermaid diagrams.
Chat controls
- 01
Streaming
Replies stream in, with stop and regenerate.
- 02
Edit & resend
Edit an earlier message and send it again.
- 03
Feedback & copy
Thumbs up or down on any reply, and one-click copy.
Under the hood
- 01
Models
The Vercel AI SDK across Gemini, Claude and GPT.
- 02
State
TanStack Query and Zustand.
- 03
Interface
Built on shadcn/ui and ai-elements.