Open Fiesta is an AI chat application with 200+ AI models like OpenAI, Gemini, Claude, Perplexity, Deepseek, and Grok in one place. Compare multiple AI model responses side-by-side in real-time and choose the best AI for every task
- Modern chat interface with real-time AI streaming
- Multi-model chat: talk to ChatGPT, Claude, Gemini, Grok, etc. in parallel
- Authentication with Better Auth
- API Key Management for AIMLAPI, OpenRouter, and Vercel AI Gateway
- Persistent chat history in Postgres
- Chat AI model settings like temperature, top-p, frequency penalty, etc.
- Local-first storage with IndexedDB for quick access to recent chats
- (Future) Shareable chats / export as Markdown or PDF
- Next.js
- TypeScript
- Tailwind CSS
- Shadcn UI
- Vercel AI SDK
- Vercel AI Gateway
- OpenRouter
- PromptKit
- Better Auth
Before setting up Open Fiesta locally, make sure you have the following installed:
- Node.js (v20 or later) - Download here
- pnpm - Install with
npm install -g pnpm
or follow the official guide - Docker & Docker Compose - Download here
- Git - Download here
git clone https://github.com/lokeswaran-aj/open-fiesta.git
cd open-fiesta
pnpm install
Copy the .env.example
file to .env
and fill in the values:
cp .env.example .env
Start the PostgreSQL database using Docker Compose:
docker-compose up -d
The database will be available at localhost:5432
with:
- Database:
postgres
- Username:
postgres
- Password:
password
Generate and run database migrations:
# Generate migration files (if schema changes)
npx drizzle-kit generate
# Apply migrations to database
npx drizzle-kit migrate
- AIMLAPI: Sign up at aimlapi.com for access to various AI models
- Vercel AI Gateway: Get your gateway key from Vercel AI Gateway
GitHub OAuth:
- Go to GitHub Settings > Developer settings > OAuth Apps
- Create a new OAuth App with:
- Application name:
Open Fiesta Local
- Homepage URL:
http://localhost:3000
- Authorization callback URL:
http://localhost:3000/api/auth/callback/github
- Application name:
- Copy the Client ID and Client Secret to your
.env
file
Google OAuth:
- Go to Google Cloud Console
- Create a new project or select an existing one
- Enable the Google+ API
- Go to Credentials > Create Credentials > OAuth client ID
- Configure the consent screen
- Set authorized redirect URIs:
http://localhost:3000/api/auth/callback/google
- Copy the Client ID and Client Secret to your
.env
file
pnpm dev
Open http://localhost:3000 in your browser to see Open Fiesta running locally! 🎉
pnpm dev
- Start development server with Turbopackpnpm build
- Build the application for productionpnpm start
- Start the production serverpnpm lint
- Run Biome linterpnpm format
- Format code with Biome
Database Connection Issues:
- Ensure Docker is running and the PostgreSQL container is healthy
- Check if port 5432 is available (not used by another service)
- Verify the
DATABASE_URL
in your.env
file
Authentication Issues:
- Double-check OAuth app configurations
- Ensure callback URLs match exactly
- Verify the
BETTER_AUTH_SECRET
is set and sufficiently random
Missing AI Responses:
- Verify your API keys are correct and have sufficient credits
- Check the AI Gateway configuration
- Monitor the browser console and server logs for errors
Open Fiesta is still in early development. Contributions are super welcome!
- Check the Issues page
- Open a PR with improvements
- Share feedback / ideas in Discussions
Open Fiesta is licensed under the Apache License 2.0. See LICENSE for full details.