Working demo at https://chatgbeant.com
A multi-model AI chat application with image and video generation, document management, and a rich conversational interface.
Chat with Claude, GPT, Gemini, DeepSeek, and more — all in one place. Generate images and videos from text prompts, organize conversations into groups, and build a personal media library.
- Multi-model chat — Switch between 1000+ AI models from providers like Anthropic, OpenAI, Google, and DeepSeek. Responses stream in real-time.
- Image generation — Generate images from text prompts using FalAI and OpenRouter models. Attach images for image-to-image editing.
- Video generation — Generate videos from text or image prompts with configurable duration, aspect ratio, and quality.
- Documents & media library — Create rich text documents, save generated images and videos, and attach any of them to future conversations for context.
- Thread organization — Pin, group, rename, and search threads. Automatic time-based grouping (Today, Last 7 Days, etc.) plus custom named groups.
- Thread & document context — Attach entire previous conversations or documents to new messages to give the AI additional context.
- BYOK (Bring Your Own Key) — Add your own OpenRouter and fal.ai API keys to unlock pro-tier models on the free plan.
- Admin dashboard — Manage users, tiers, roles, and models. Sync models from OpenRouter and FalAI. Toggle featured and active status.
- Theming — Light, Dark, and System themes.
| Layer | Technology |
|---|---|
| Frontend | Next.js (App Router), React 19, Tailwind CSS v4 |
| Backend | Convex (database, server functions, file storage) |
| Auth | Clerk |
| AI Chat | Convex Agent, OpenRouter |
| Media Gen | fal.ai, OpenRouter |
| Monorepo | Turborepo |
ChatGBeanT/
apps/
web/ — Next.js frontend
packages/
backend/ — Convex backend (schema, server functions, actions)
ui/ — Shared UI components
docs/ — Documentation
pnpm installpnpm setup --workspace packages/backendThis will log you into Convex and prompt you to create a project. Then set the following environment variables in the Convex dashboard:
CLERK_ISSUER_URL— from your Clerk JWT template (use the "convex" template)OPENROUTER_API_KEY— from OpenRouterFAL_KEY— from fal.ai (for image/video generation)
Create .env using .example.env as a template:
pnpm devDeploy using vercel and convex integration
- Functional Requirements — Complete specification of all user-facing features