Personas is an open-source AI chat platform that allows users to interact with various AI models through a beautiful, modern interface. We recently went viral on Twitter with 11 Million Views, 300K+ users.
Built with Next.js 13, Firebase, and various AI APIs, it offers a seamless experience for users to engage with different AI personalities through Twitter.
- 🤖 Multiple AI Models Support (OpenRouter API)
- 🔒 User Authentication (Firebase)
- 💬 Real-time Chat Interface
- 📊 Analytics Integration (Mixpanel)
- 🎨 Beautiful Modern UI
- 💾 Chat History Storage
Before you begin, ensure you have:
- Node.js 18 or later
- npm or yarn
- Git
You'll need to obtain the following API keys and credentials:
-
Firebase Configuration
- Create a project at Firebase Console
- Enable Authentication (Google Sign-in)
- Enable Firestore Database
- Get your Firebase configuration keys
-
OpenRouter API
- Sign up at OpenRouter
- Get your API key
- Access to models like Claude Sonnet and Gemini Flash (100x cheaper than direct API access)
-
RapidAPI Twitter API
- Subscribe to Twitter API
- Get your API key
-
Mixpanel
- Create an account at Mixpanel
- Get your project token
-
Clone the repository:
git clone https://github.com/BasedHardware/omi.git cd omi/personas-open-source
-
Install dependencies:
npm install
-
Create a
.env.local
file in the root directory with the following variables:# Firebase Configuration NEXT_PUBLIC_FIREBASE_API_KEY=your_firebase_api_key NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_firebase_auth_domain NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_firebase_project_id NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your_firebase_storage_bucket NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_firebase_messaging_sender_id NEXT_PUBLIC_FIREBASE_APP_ID=your_firebase_app_id NEXT_PUBLIC_FIREBASE_VAPID_KEY=your_firebase_vapid_key # API Keys NEXT_PUBLIC_RAPIDAPI_KEY=your_rapidapi_key OPENROUTER_API_KEY=your_openrouter_api_key NEXT_PUBLIC_MIXPANEL_TOKEN=your_mixpanel_token
-
Run the development server:
npm run dev
-
Open http://localhost:3000 in your browser.
To run using Docker:
-
Build the image:
docker build -t personas .
-
Run the container:
docker run -p 3000:3000 personas
Through OpenRouter, you can access various AI models:
- Gemini Flash: Extremely cost-effective, ~$0.0001/1K tokens
- Claude Sonnet: High quality with lower cost than direct API access
- Other models available through OpenRouter
We welcome contributions! Please feel free to submit a Pull Request.
If you encounter any issues or have questions, please open an issue on GitHub.