Go Back
WhiteRoom


Project overview
WhiteRoom is a collaborative whiteboard platform inspired by Excalidraw, built to support real-time drawing and diagramming. Developed in a monorepo setup using Next.js, Prisma, and PostgreSQL, the project emphasizes scalability and live collaboration. Users can create separate rooms, share room codes with friends, and draw together in real-time. Through this project, I explored and implemented features like canvas-based drawing, WebSocket-based real-time updates, and multi-user collaboration โ all built to scale smoothly. The architectural foundation allowed for efficient feature extensions while maintaining performance.
Project Challenges
- Managing real-time state sync between multiple users
- Implementing collaborative drawing on canvas with accuracy
- Setting up a scalable monorepo structure
- Handling WebSocket connections and cleanup effectively
My learnings
- Deepened understanding of WebSocket communication
- Learned how to implement and manage drawing on HTML canvas
- Understood the hidden complexities of a scalable monorepo setup
- Explored Prisma ORM with PostgreSQL
- Improved knowledge of real-time collaboration patterns
Features
- ๐๏ธ Real-time drawing and diagramming
- ๐ผ๏ธ Canvas-based user interface
- ๐งพ Create and join collaborative rooms with a room code
- ๐ค Live multi-user collaboration via WebSockets
- ๐๏ธ Scalable monorepo architecture
- ๐๏ธ Persistent data via PostgreSQL and Prisma