Powerful, clean, and flexible chat UI for modern conversational AI.
ChatNova delivers a polished messaging experience that you can connect to any conversational backend — OpenAI, local models, or custom APIs.
- ✨ Overview
- 🔥 Features
- 🛠 Tech Stack
- ⚡ Installation
- ⚙️ Configuration
▶️ Usage- 🎨 Customization
- 🤝 Contributing
- 📄 License
- 📬 Contact
ChatNova is a user-friendly chat interface designed as the front-end layer for bot-driven experiences.
It focuses on speed, accessibility, and delightful conversations while being adaptable to any backend.
💡 Perfect for:
- AI-powered chatbots
- Customer support systems
- Real-time collaboration tools
- Experimenting with OpenAI or local LLMs
✅ Conversational message list with timestamps
✅ Rich message rendering (💬 text, 🖼 images, 🔗 links, 💻 code blocks)
✅ History + context preservation
✅ Typing indicators + basic presence
✅ Light/Dark theme support 🌗
✅ Easy API adapter to plug into any backend
✅ Mobile responsive + accessible keyboard navigation
- Frontend: React (JavaScript / TypeScript)
- Styling: TailwindCSS / CSS-in-JS
- Backend Adapter (Optional): Node.js + Express (for API key proxying)
- Integrations: OpenAI, Anthropic, local LLMs, or any chat API
Clone the repository:
git clone https://github.com/realtushartyagi/ChatNova.git
cd ChatNova
Install:
```bash
npm install
# or using yarn
yarn installAdd environment variables for the chat backend (example .env):
REACT_APP_CHAT_API_URL=http://localhost:3000/api/chat
REACT_APP_API_KEY=your_api_key_here
If you plan to call a vendor API from the client, consider creating a small backend to keep keys secret:
# example: simple express proxy
POST /api/chat -> forwards request to external provider using server-side API keyStart the development server:
npm start
# or
yarn startOpen http://localhost:3000 in your browser and interact with the chat UI. Connect it to your backend by updating the API URL in the environment variables.
- To change themes: edit src/styles or theme provider
- To add new message types: extend MessageRenderer and message components
- To swap backend providers: implement a new adapter that conforms to the ChatAdapter interface (see /src/adapters)
We love contributions! To contribute:
- Fork the repo
- Create a topic branch
- Submit a PR and describe your change clearly
Please follow the existing code style and add tests where reasonable.
MIT License — see LICENSE for details.
If you’d like help integrating ChatNova into your project or want to submit ideas, open an issue or PR. Maintained by realtushartyagi. Enjoy building! Built by realtushartyagi — feel free to open issues, feature requests, or PRs. Thank you for checking out ChatNova!