AI Character Chat Application
Have meaningful conversations with AI personalities tailored to your needs
cha.i is a modern AI chat application featuring 5 unique AI characters, each with distinct personalities and expertise. Whether you need emotional support, fitness coaching, coding help, creative writing assistance, or life motivation, cha.i provides engaging, context-aware conversations powered by Google's Gemini 2.5 Flash.
- 🎭 5 Unique AI Characters - Mira, Ethan, Kai, Ivy, and Marcus
- 💬 Persistent Conversations - All chat history saved and retrievable
- 🧠 Context-Aware Responses - Leverages 1M token context window
- 🎨 Premium Dark UI - Minimalist, glassmorphic design
- 📱 Fully Responsive - Seamless experience on all devices
- 🔐 User Authentication - Secure login and registration
- 🚀 Fast & Modern - Built with React 19 and FastAPI
| Character | Role | Personality | Best For |
|---|---|---|---|
| Mira | The Emotional Companion | Warm, caring, empathetic | Emotional support, comfort |
| Ethan | The Life Coach | Energetic, inspiring, motivating | Goal-setting, productivity |
| Kai | The Tech Wizard | Nerdy, helpful, smart | Programming, tech support |
| Ivy | The Creative Writing Partner | Dreamy, artistic, imaginative | Writing, creativity |
| Marcus | The Fitness Coach | Intense, disciplined, confident | Fitness, health, discipline |
- Node.js 18+
- Python 3.11+
- Google Gemini API Key (Get one here)
- Clone the repository
git clone https://github.com/mosaddiqdev/cha.i.git
cd cha.i- Set up the backend
cd backend
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
# Configure environment
cp .env.example .env
# Edit .env and add your GEMINI_API_KEY
# Initialize database
python data/seeds/seed_characters.py
# Start backend server
python run.pyBackend runs on http://localhost:8000
- Set up the frontend
cd ../frontend
npm install
# Configure environment
cp .env.example .env
# Edit .env and set VITE_API_URL=http://localhost:8000
# Start frontend dev server
npm run devFrontend runs on http://localhost:5173
- Open your browser
Navigate to http://localhost:5173 and start chatting!
cha.i/
├── backend/ # FastAPI backend
│ ├── app/
│ │ ├── api/ # API routes
│ │ ├── characters/ # Character definitions
│ │ ├── models/ # Database models
│ │ ├── services/ # Business logic
│ │ └── main.py # FastAPI app
│ ├── data/ # Database & seeds
│ └── requirements.txt
│
├── frontend/ # React frontend
│ ├── src/
│ │ ├── components/ # React components
│ │ ├── pages/ # Page components
│ │ ├── services/ # API integration
│ │ └── context/ # React Context
│ ├── public/ # Static assets
│ └── package.json
│
└── README.md # This file
- React 19
- Vite
- React Router
- Lucide Icons
- React Markdown
- FastAPI
- SQLAlchemy
- Google Gemini 2.5 Flash
- SQLite
- Pydantic
- Frontend Documentation
- Backend Documentation
- API Documentation (when backend is running)
GET /api/characters- List all charactersGET /api/characters/{id}- Get character details
POST /api/chat- Send message to characterGET /api/conversations/{id}- Get conversation history
GET /api/health- Health checkGET /api/info- API information
cha.i follows a minimal, premium dark aesthetic:
- Dark Mode First - Optimized for reduced eye strain
- Glassmorphism - Subtle transparency and blur effects
- Smooth Animations - Polished micro-interactions
- Typography - Geist font family for modern readability
- Minimal UI - Clean, distraction-free interface
Contributions are what make the open source community amazing! Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
Project Link: https://github.com/mosaddiqdev/cha.i
Live Demo: https://cha-i.vercel.app/
- Google Gemini - AI model powering character responses
- FastAPI - Modern Python web framework
- React - UI library
- Lucide Icons - Beautiful icon set
- Vite - Next generation frontend tooling
Built with ❤️ by the cha.i team
