DEV Community

Akash Santra
Akash Santra

Posted on

I Built an AI-Powered Real-Time Chat App with React, Node.js and Machine Learning

 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)

Collapse
 
akash_santra_3c96613546c6 profile image
Akash Santra

Would love feedback from the community