Compare AI model responses side-by-side in real-time
Demo • Features • Quick Start • Documentation • Contributing
Prompt.me AI is an open-source platform that allows you to send the same prompt to multiple leading AI models simultaneously and compare their responses in real-time. Perfect for researchers, developers, and AI enthusiasts who want to understand the strengths and differences between various AI models.
| Model | Provider | Description |
|---|---|---|
| GPT-5.1 Chat | OpenAI | Fast, capable language model |
| Claude Sonnet 4.5 | Anthropic | Advanced reasoning and analysis |
| Gemini 2.5 Flash | Quick, efficient responses | |
| Mistral Small | Mistral AI | Balanced performance model |
| LLaMA 3.1 8B | Meta (via Fireworks) | Open-source model |
- 🤖 Multi-Model Comparison — Send prompts to 5 AI models simultaneously
- ⚡ Real-time Streaming — See responses as they're generated
- 💾 Chat History — Save, pin, and organize your conversations
- 🔑 Dual Usage Modes — Use platform credits or your own API keys
- 💳 Payment Integration — Purchase credits via Stripe
- 🌙 Dark Mode — Full dark/light theme support
- 📱 Responsive Design — Works on desktop and mobile
- 🔐 Secure Authentication — Firebase Auth with Google sign-in
- Next.js 16.1.1 — React framework with App Router
- React 19.2.3 — UI library
- TypeScript 5.9.3 — Type safety
- Tailwind CSS 4.1.18 — Utility-first styling
- NextUI — React component library
- Framer Motion — Animations
- Vercel AI SDK — Unified AI provider interface
- @ai-sdk/openai — OpenAI integration
- @ai-sdk/anthropic — Anthropic integration
- @ai-sdk/google — Google AI integration
- @ai-sdk/mistral — Mistral integration
- Firebase — Authentication & Firestore database
- Stripe — Payment processing
- Zustand — State management
- ESLint — Code linting
- date-fns — Date utilities
- React Markdown — Markdown rendering
- Node.js 20.9+ (LTS recommended)
- npm or yarn or pnpm
- API keys from AI providers (optional if using credits)
- Firebase project
- Stripe account (for payments)
-
Clone the repository
git clone https://github.com/brown2020/promptmeai.git cd promptmeai -
Install dependencies
npm install
-
Configure environment variables
cp .env.example .env.local
Edit
.env.localwith your configuration (see Environment Variables) -
Start the development server
npm run dev
-
Open your browser
Navigate to http://localhost:3000
Create a .env.local file in the root directory with the following variables:
# Required for credit-based usage
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
GOOGLE_GENERATIVE_AI_API_KEY=...
MISTRAL_API_KEY=...
FIREWORKS_API_KEY=...# Client-side (public)
NEXT_PUBLIC_FIREBASE_APIKEY=...
NEXT_PUBLIC_FIREBASE_AUTHDOMAIN=your-project.firebaseapp.com
NEXT_PUBLIC_FIREBASE_PROJECTID=your-project-id
NEXT_PUBLIC_FIREBASE_STORAGEBUCKET=your-project.appspot.com
NEXT_PUBLIC_FIREBASE_MESSAGINGSENDERID=...
NEXT_PUBLIC_FIREBASE_APPID=...
NEXT_PUBLIC_FIREBASE_MEASUREMENTID=G-...
# Server-side (Admin SDK)
FIREBASE_TYPE=service_account
FIREBASE_PROJECT_ID=your-project-id
FIREBASE_PRIVATE_KEY_ID=...
FIREBASE_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n"
FIREBASE_CLIENT_EMAIL=firebase-adminsdk-...@your-project.iam.gserviceaccount.com
FIREBASE_CLIENT_ID=...
FIREBASE_AUTH_URI=https://accounts.google.com/o/oauth2/auth
FIREBASE_TOKEN_URI=https://oauth2.googleapis.com/token
FIREBASE_AUTH_PROVIDER_X509_CERT_URL=https://www.googleapis.com/oauth2/v1/certs
FIREBASE_CLIENT_CERTS_URL=https://www.googleapis.com/robot/v1/metadata/x509/...NEXT_PUBLIC_STRIPE_KEY=pk_...
NEXT_PUBLIC_STRIPE_PRODUCT_NAME=PromptMe Credits
STRIPE_SECRET_KEY=sk_...NEXT_PUBLIC_COOKIE_NAME=promptme_authpromptmeai/
├── src/
│ ├── actions/ # Server actions (AI generation, payments)
│ ├── app/ # Next.js App Router pages
│ │ ├── chat/ # Main chat interface
│ │ ├── settings/ # User settings & API keys
│ │ ├── payment-*/ # Payment flow pages
│ │ └── ...
│ ├── components/ # Reusable UI components
│ │ ├── buttons/ # Button variants
│ │ ├── modals/ # Modal dialogs
│ │ └── ...
│ ├── constants/ # App constants & model config
│ ├── firebase/ # Firebase client & admin setup
│ ├── hooks/ # Custom React hooks
│ ├── layouts/ # Page layouts & navigation
│ ├── screens/ # Page-level components
│ │ ├── chat/ # Chat screen with sections
│ │ ├── settings/ # Settings screen
│ │ └── ...
│ ├── services/ # Business logic (chat CRUD)
│ ├── types/ # TypeScript type definitions
│ ├── utils/ # Utility functions
│ └── zustand/ # State management stores
├── public/ # Static assets
└── ...config files
- Sign in with Google or email/password
- Type your prompt in the chat input
- View responses from all AI models simultaneously
- Save conversations automatically to your history
- Pin important chats for quick access
| Mode | Description |
|---|---|
| Credits | Use platform-provided credits (default) |
| API Keys | Use your own API keys for each provider |
Configure your usage mode in Settings.
- Navigate to Settings
- Click Buy 10,000 Credits
- Complete payment via Stripe
- Credits are added instantly
npm run dev # Start development server
npm run build # Build for production
npm run start # Start production server
npm run lint # Run ESLintusers/
└── {uid}/
└── profile/
└── userData # User profile & settings
└── payments/ # Payment history
└── {paymentId}
promptme_chats/
└── {uid}/
└── chat/
└── {chatId} # Individual chat conversations
This repo includes production-ready rules that ensure users can only access their own data:
- Firestore:
firestore.rules - Storage:
storage.rules
- User data:
users/{uid}andusers/{uid}/profile/userData - Payments:
users/{uid}/payments/{paymentDocId}(read/create only; update/delete denied by default) - Chats:
promptme_chats/{uid}/chat/{chatId}(create/update requireuserId === uid) - Everything else: denied by default
- Firestore: Firebase Console → Firestore Database → Rules → paste from
firestore.rules→ Publish - Storage: Firebase Console → Storage → Rules → paste from
storage.rules→ Publish
If you use the Firebase CLI, ensure your firebase.json points to the rule files:
{
"firestore": { "rules": "firestore.rules" },
"storage": { "rules": "storage.rules" }
}Then deploy:
firebase deploy --only firestore:rules,storage:rulesWe welcome contributions! Here's how you can help:
- Fork the repository
- Create a feature branch
git checkout -b feature/amazing-feature
- Make your changes
- Run tests and linting
npm run lint npm run build
- Commit your changes
git commit -m "feat: add amazing feature" - Push to your fork
git push origin feature/amazing-feature
- Open a Pull Request
We follow Conventional Commits:
feat:— New featuresfix:— Bug fixesdocs:— Documentation changesstyle:— Code style changes (formatting, etc.)refactor:— Code refactoringperf:— Performance improvementstest:— Test additions or modificationschore:— Maintenance tasks
- Write TypeScript with proper types
- Follow the existing code style
- Add comments for complex logic
- Keep components small and focused
- Use the existing utility functions
- Add more AI models (Cohere, AI21, etc.)
- Implement conversation branching
- Add export functionality (PDF, Markdown)
- Create API for programmatic access
- Add team collaboration features
- Implement prompt templates library
This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0) — see the LICENSE.md file for details.
- Vercel for the AI SDK and hosting
- OpenAI, Anthropic, Google, Mistral, Meta for their AI models
- Firebase for authentication and database
- Stripe for payment processing
Made with ❤️ by Brown2020