Skip to content

Connect with AI companions designed to understand and engage with you. Experience meaningful conversations with unique personalities

Notifications You must be signed in to change notification settings

mosaddiqdev/cha.i

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 

Repository files navigation

cha.i

AI Character Chat Application

Have meaningful conversations with AI personalities tailored to your needs

cha.i Showcase

MIT License React FastAPI Python

Live DemoDocumentationReport BugRequest Feature


📖 About The Project

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.

✨ Key Features

  • 🎭 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

🎭 Meet The Characters

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

🚀 Quick Start

Prerequisites

  • Node.js 18+
  • Python 3.11+
  • Google Gemini API Key (Get one here)

Installation

  1. Clone the repository
git clone https://github.com/mosaddiqdev/cha.i.git
cd cha.i
  1. 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.py

Backend runs on http://localhost:8000

  1. 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 dev

Frontend runs on http://localhost:5173

  1. Open your browser

Navigate to http://localhost:5173 and start chatting!

🏗️ Project Structure

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

🛠️ Tech Stack

Frontend

  • React 19
  • Vite
  • React Router
  • Lucide Icons
  • React Markdown

Backend

  • FastAPI
  • SQLAlchemy
  • Google Gemini 2.5 Flash
  • SQLite
  • Pydantic

📚 Documentation

🌐 API Endpoints

Characters

  • GET /api/characters - List all characters
  • GET /api/characters/{id} - Get character details

Chat

  • POST /api/chat - Send message to character
  • GET /api/conversations/{id} - Get conversation history

Health

  • GET /api/health - Health check
  • GET /api/info - API information

🎨 Design Philosophy

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

🤝 Contributing

Contributions are what make the open source community amazing! Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📝 License

Distributed under the MIT License. See LICENSE for more information.

📧 Contact

Project Link: https://github.com/mosaddiqdev/cha.i

Live Demo: https://cha-i.vercel.app/

🙏 Acknowledgments


Built with ❤️ by the cha.i team

⬆ Back to Top

About

Connect with AI companions designed to understand and engage with you. Experience meaningful conversations with unique personalities

Topics

Resources

Stars

Watchers

Forks