Voxa AI is a modern, conversational AI chatbot powered by Google's GEMINI API. It provides an intuitive, real-time chat experience with a sleek UI, efficient state management, and dynamic response handling.
- Conversational AI: Uses GEMINI API for intelligent responses.
- Dark Theme UI: Sleek and modern design.
- Sidebar Chat Navigation: Easily switch between different chat sessions.
- Real-time Typing Indicator: Provides a smooth chat experience.
- Persistent Storage: Saves user chat history for seamless experience.
- Mobile-Friendly: Fully responsive UI for different screen sizes.
| Dependency | Purpose |
|---|---|
| React.js | Frontend framework for UI components. |
| Redux Toolkit | State management for theme and chat history. |
| Tailwind CSS | Styling framework for a sleek UI. |
| Appwrite | Authentication and database management. |
| Google GEMINI API | AI-based chat responses. |
| React Icons | Icons for a visually appealing interface. |
-
Dark Mode First Approach
- Ensures a modern, eye-friendly UI.
- Uses Redux state to toggle themes dynamically.
-
Persistent Chat Storage
- Uses local storage & Appwrite for chat history.
- Allows users to access past conversations seamlessly.
-
Sidebar Navigation
- Enables switching between different chat sessions.
- Mobile-friendly sidebar that toggles on small screens.
-
Optimized API Calls
- Batched requests to GEMINI API to reduce latency.
- Debounced input to prevent excessive API calls.
-
Minimal UI for Smooth UX
- No unnecessary animations that slow performance.
- Quick message rendering for fast interaction.
- Decision: Chose HTTP-based GEMINI API calls over WebSocket-based live chat.
- Reason: WebSockets are resource-intensive and costly for a free-tier Appwrite setup.
- Trade-off: No real-time typing indicator from the AI side.
- Decision: Used Redux Toolkit instead of plain React Context.
- Reason: Easier state handling and scalable structure.
- Trade-off: Slightly increased initial learning curve.
- Decision: Used Appwrite instead of Firebase.
- Reason: Better free-tier limits and security.
- Trade-off: Limited ecosystem compared to Firebase.
git clone https://github.com/mrhat05/Voxa-AI-Chat-Bot.git
cd Voxa-AI-Chat-Botnpm installCreate a .env file in the root directory and add your GEMINI API key:
REACT_APP_GEMINI_API_KEY=your_api_key_here
npm startThe app should now be running at http://localhost:3000 🚀.
- Add voice-to-text chat functionality.
- Implement WebSocket-based real-time chat.
- Improve AI response handling using vector databases.
- Expand multi-language support.
Contributions are welcome! Feel free to open issues or submit pull requests.
This project is licensed under the MIT License. See LICENSE for details.