Cha-Cha-Chat is a real-time web chat experience powered by Firebase. It features email/password authentication, live messaging, chat history, and lightweight presence indicators presented in a clean two-column layout inspired by shadcn/ui.
- Email/password sign up, login, and logout
- Real-time message delivery backed by Cloud Firestore
- Automatically stored conversation history (last 200 messages rendered)
- Presence indicators derived from user activity timestamps
- Auto-generated avatars for users and direct message threads
- Image attachments with automatic upload to Firebase Storage
- Gemini-powered ChaChaBot within direct messages
- Personal note-taking: start a DM with yourself for private reminders
- Responsive layout with user list and chat stream
- Install dependencies
pnpm install
- Start the development server
pnpm dev
- Visit
http://localhost:5173and create an account to begin chatting.
The Firebase web configuration is already baked into src/firebase.ts. If you need to switch projects, replace the configuration values there. Ensure Authentication (Email/Password) and Firestore Database are enabled in the Firebase console.
- In the Firebase console, enable Firebase AI and choose the Google AI (Gemini) backend for your project.
- Confirm the Generative AI API is enabled for the linked Google Cloud project.
- With those services active,
ChaChaBotautomatically connects to thegemini-2.5-flashmodel. - Users can open a direct message with ChaChaBot to ask questions, summarize threads, or brainstorm replies.
pnpm dev– run Vite in development mode with hot module reloadingpnpm build– type-check and generate a production buildpnpm lint– run ESLint across the project