Real-time AI chat platform with streaming responses, conversation memory, and multi-model support.
- 🔴 Real-time streaming — responses stream token by token via WebSocket
- 🧠 Conversation memory — full message history sent with each request (last 20 messages)
- 🤖 Multi-model support — switch between [Model 1] and [Model 2] mid-conversation
- 💬 Multiple conversations — sidebar with conversation list and history
- ⚡ Rate limiting — 60 requests/minute per IP
- 🔒 Helmet.js security headerS
| Layer | Tech |
|---|---|
| Frontend | React 18, Socket.io-client |
| Backend | Node.js, Express, Socket.io |
| AI | Groq API (streaming) |
| Real-time | WebSockets |
```bash
git clone https://github.com/jatin/neuralchat-ai cd neuralchat-ai
npm run install:all
cp .env.example .env
npm run dev # server on :4000 npm run client # React on :3000 ```
``` neuralchat-ai/ ├── server/ │ └── index.js # Express + Socket.io server, Groq streaming ├── client/ │ └── src/ │ ├── App.jsx # Main chat UI │ └── App.css # Styles ├── .env.example └── package.json ```
- Client connects via WebSocket on load
- User creates a conversation → server stores it in memory with a UUID
- User sends a message → server calls Groq with full history
- Groq streams tokens back → server forwards each delta to client via
stream:deltaevents - Client appends deltas in real-time → smooth streaming effect
Built by Jatin — 2026