Changelog

2.2

Release 2.2: Playground, Dual Gateways, Smarter Chat Titles, Turborepo Migration

New Playground for model experiments. Dual gateway support. Repo migrated to Turborepo.

infraplaygroundturborepogateways

Highlights

  • Dynamic metadata and OG images for chat pages.

  • Playground to create and compare model runs.

  • Dual gateway support: LLM Gateway and Vercel AI Gateway.

  • Monorepo migration to Turborepo for faster builds and shared tooling.

Changes

feat: enhance chat title management and metadata generation

  • Removed unused webpack configuration in next.config.js.

  • Updated build script in package.json to include shadcn build.

  • Dynamic metadata for chat pages with OG and Twitter cards.

  • New API route for dynamic OG image generation.

  • ChatTitleSyncer component to sync chat titles with cookies.

  • ChatTitlesCookieManager utility for cookie management.

  • Local chat storage now syncs titles on create, update, delete.

  • History dialog and section ensure titles are consistently synced.

  • Layout and page refactor to use new metadata and OG image generation.

feat: implement playground feature with new components and API integration

  • Playground to create and manage experiments for AI models.

  • API routes for creating playgrounds and fetching messages.

  • Playground and PlaygroundColumn UI components.

  • Sidebar and layout integration for playground management.

  • package.json and bun.lock updated for new deps.

  • Database schema extended for playground entities and messages.

  • Chat components refactored for playground interactions and UX.

feat: enhance chat message handling with partsJson support

  • Optional partsJson field in message schema and DB to store full parts including reasoning and tool calls.

  • addMessage mutation handles partsJson.

  • Message provider serializes and deserializes partsJson.

  • Playground config adds maximum column controls and UI wiring.

  • Components refactored for the new data path and UX.

feat: integrate AI Gateway support and enhance playground functionality

  • Support for Vercel AI Gateway alongside LLM Gateway in the model selector.

  • Playground schema and components accept selected gateway source.

  • Chat input and message handling include gateway specific options.

  • API routes and local storage updated for user keys and settings.

  • Max playground columns increased from 10 to 30.

feat: add gateway support for chat and playground functionalities

  • Optional gateway field in message and playground schemas: llm-gateway or vercel-ai-gateway.

  • addMessage and addPlaygroundMessage handle the gateway parameter.

  • MessagesProvider and CacheProvider include gateway in state.

  • Components sync gateway settings from local storage for flexibility.

  • Deprecated message-list removed.

feat: enhance API key management and model selection in chat and playground

  • Both gateway API keys supported in ChatInput, ModelSelector, and PlaygroundColumn.

  • State tracks presence of keys and updates UI hints and disabled states.

  • Key loading reacts to changes for better sync across components.

chore(repo): migrate to Turborepo and move Next.js app to apps/www

  • Root workspaces and turbo.json for build, check, check:unsafe, check-types, dev.

  • App moved to apps/www including src, public, convex, and Next or PostCSS or Basehub configs.

  • Added packages/tsconfig/base.json and made apps/www/tsconfig.json extend it.

  • Simplified apps/www/tsconfig.json and added @/convex/* path alias.

  • Fixed Framer Motion Transition typing in file-list.tsx.

  • Added root dev:all and upgraded turbo to ^2.5.5.

  • Added SCRIPTS.md with turbo usage, filter semantics, and dev commands.

  • Updated .gitignore for monorepo outputs and .turbo.

  • Updated biome.jsonc ignores for new paths.

  • Note: build env vars now live under apps/www/.env*.

2.1

Release 2.1 – Theme System Overhaul & UI Cleanup

Overhauled legacy theme management with a Tweakcn‑based system, updated the settings dialog, added react‑tweet and YouTube MDX components, switched the Next.js build to Turbopack, refreshed the sidebar/chat UI with new theme variables and shadcn layout, and applied consistent global code formatting (no functional changes).

Theming  RefactorDocumentation
  • Swapped out legacy theme files for a Tweakcn‑based system (includes flash‑prevent script and theme utilities)

  • Updated settings dialog to import/reset Tweakcn themes

  • Added react-tweet and YouTube MDX components for richer docs

  • Switched Next.js build to Turbopack and installed react-tweet

  • Refreshed sidebar, chat UI, and global.css to use new theme variables and shadcn layout

  • Applied consistent formatting and naming across files (imports, whitespace, objects/arrays)

  • Introduced BaseHub auto‑generated types, refactored sidebar/chat components, and removed unused controls

2.0

Release 2.0 - Refactoring & Vision Shift

Major refactoring with dependency cleanup, modular sidebar, and shift towards experimental model testing platform

RefactoringDependenciesArchitectureVisionExperimental

Major Refactoring & Cleanup

  • Removed hCaptcha, PostHog, settings and boards routes to slim down to an experimental playground

  • Built a new modular sidebar under src/components/app-sidebar

  • Simplified BYOK API‑key management (local or Convex) and added dedicated key/settings components

  • Updated README and .env.example for the pared‑down setup

  • Introduced Fumadocs for structured changelog tracking

  • Refactored chat UI: removed unused modules (message‑versions, regenerate‑dropdown), cleaned up sidebar and history

  • Focusing now on a fast, non‑logged‑in user flow and an AI model testing platform vision

Acknowledgments
Thanks to @theo, @Ibelick, @r_marked, @t3dotchat for inspiration and guidance.

This version represents a significant shift in the project's direction, moving from a general-purpose chat application to a specialized experimental platform for AI model testing and comparison.

1.0

Release 1.0 - Initial Launch

ChaiChat: A modern AI-powered chat platform for evaluating conversational performance across multiple LLMs

Next.jsConvexAIMulti-Model

ChaiChat is a Next.js 15/T3‑stack chat platform for real‑time AI streaming (GPT‑4o, Gemini Flash, Claude) with instant sync, offline support, and anonymous, rate‑limited access.

  • Stream AI responses in real time with resumable connections

  • Instant sync and offline caching via Convex and Dexie

  • Anonymous access protected by hCaptcha rate limits

  • Media uploads, shareable links, dark and light themes, keyboard shortcuts

  • Built with strict TypeScript, Tailwind CSS, and Framer Motion

  • Edge‑optimized on Vercel with secure API‑key management and error boundaries