I built a full-stack real-time chat application inspired by modern messaging platforms, but enhanced with AI automation and Machine Learning moderation.
GitHub Repo: https://github.com/Akash504-ai/Chat-app
Live Demo: https://chat-app-sooty-mu.vercel.app
What makes this project different?
This is not just a basic chat app. It is designed like a production-ready communication platform with real-world features.
Core Features
- Real-time one-to-one and group chat using Socket.io
- Message reactions, replies, pin and delete
- Seen status with tick indicators
- Global message search
AI and Machine Learning Features
- AI chatbot integration using Groq API
- Toxic message detection using ML models
- Spam detection system
- Admin moderation pipeline
Communication Features
- Voice and video calling using ZegoCloud
Security and Authentication
- Secure login and signup
- Three-level security questions
- Password recovery with identity verification
UI and Customization
- Built with Tailwind CSS and DaisyUI
- Dynamic themes
- Custom chat wallpapers
Admin Panel
- User management system
- Report handling and moderation
- Analytics dashboard
- CSV export support
Tech Stack
Frontend
- React.js
- Tailwind CSS
- DaisyUI
Backend
- Node.js
- Express.js
- Socket.io
Machine Learning Service
- FastAPI
- Scikit-learn models
Database
- MongoDB
Architecture
- Frontend handles UI and client logic
- Backend manages APIs and real-time communication
- ML service handles moderation and predictions
This separation makes the system scalable and closer to real-world applications.
What I Learned
- Building real-time systems with Socket.io
- Integrating Machine Learning into production apps
- Designing scalable architecture
- Handling complex chat state and features
Future Improvements
- Improving ML models
- Adding push notifications
- Better mobile responsiveness
- UI and UX improvements
- Use webRTC instead of ZegoCloud
- Any feature which can improve this
Contributing
Contributions are welcome
Feel free to fork the repository and submit a pull request.

Top comments (1)
Would love feedback from the community