Create and chat with AI companions inspired by real or fictional personalities
PersonaPal is a modern web application that lets you create and interact with AI companions inspired by historical figures, entrepreneurs, or any personality you can imagine. Want to discuss relativity with Einstein, talk innovation with Elon Musk, or create your own unique AI companion? PersonaPal makes it possible.
Key Features:
- Create custom AI companions by providing:
- Personality traits and background
- Seed conversations that shape their behavior
- Detailed descriptions of their knowledge and expertise
- Chat with AI companions created by the community
- Real-time conversations with context-aware responses
- User authentication and profile management
- Persistent chat history
- Vector-based memory system for more natural conversations
- Only a user who created the companion can edit it.
- Currently supports English language only
- Rate limit: 10 requests per 10 seconds
- All API services (OpenAI, Replicate, etc.) are on free tier with their respective limitations
- Chat may stop working soon as the free tier is very limited.
- Next.js 14 (React Framework)
- TailwindCSS
- TypeScript
- Node.js
- Prisma ORM
- MySQL / TiDB (Database)
- Upstash Redis (Caching)
- Pinecone (Vector Database)
- Cloudinary (Optimized storage for images)
- Replicate (AI Model Hosting)
- OpenAI API (Language Processing)
- Clerk (Authentication)
- Vercel (Deployment)
- Node.js 18+
- TiDB MySQL or any equivalent db instance
- Replicate API key
- OpenAI API key
- Clerk account
- Upstash Redis instance
- Pinecone account
Create a .env
file in the root directory following the .env.example
file.
- Clone the repository
git clone https://github.com/faisalbhuiyan3038/persona-pal.git
cd persona-pal
- Install dependencies
npm install
# or
yarn install
- Set up the database
npx prisma generate
npx prisma db push
- Run the development server
npm run dev
# or
yarn dev
- Open http://localhost:3000 in your browser
- Sign up or log in to your account
- Click on "Create"
- Provide the following details:
- Name and avatar for your companion
- Background information and personality traits
- Seed conversations to establish behavior patterns
- Areas of expertise and knowledge
- Submit and start chatting!
Note: There is no limit to how many companions you can create.
Contributions are welcome! Please feel free to submit a Pull Request.
[Faisal Bhuiyan] - [faisalbhuiyan3038@gmail.com]
Project Link: https://github.com/faisalbhuiyan3038/persona-pal