
GreenRoom is a collaborative chat platform that goes beyond text since users can search and share GIFs inline, preview GitHub repositories with live star and fork counts, draw random playing cards, run live polls with real-time vote tracking, and sketch together on a shared whiteboard, etc. Everything is stored in MongoDB, so the full history of messages, polls, card draws, and embedded content survives across sessions.
The system runs on a dual-server architecture with an Express 5 REST API handling data persistence and third-party API proxying, and a lightweight static frontend served independently. The real-time layer uses an optimized polling strategy against the REST API for message synchronization.
The project was an exercise in seeing how far you can push interactivity and real-time UX with a minimal, framework-free stack.
Stack: Node.js, Express 5, MongoDB, Mongoose, Vanilla JS