Real-time collaborative drawing canvas with ML-powered content moderation.
DoodleParty is a system for shared drawing experiences where multiple users can draw on a canvas simultaneously. It features a dedicated Machine Learning service that monitors the canvas in real-time to detect and censor inappropriate content (NSFW).
It is designed for "party" or "installation" settings where users join via mobile devices ("Senders") and their drawings appear on a main display ("Viewer"). There is no waiting room; users join and draw immediately.
Note
🏆 2nd Place Winner - European UniHack 2025, Culture & Entertainment Track
- Installation Guide Prerequisites (Node.js, Python, Nix), local environment setup, and startup instructions.
- Configuration Reference
AdminConfig.jsonsettings, environment variables, and game modes.
- Architecture Overview High-level design, data flow between Node.js server and ML Python service.
- Project Structure Directory map and component organization.
- API Reference REST endpoints and Socket.io event protocols.
- Testing Strategy Unit (Vitest) and Integration (Pytest) testing workflows.
- Design System UI/UX guidelines and asset management.
- Server Entry Point:
frontend/server/express-server.cjs - ML Entry Point:
ml/socket_client/ml_server.py - Config:
AdminConfig.json - Run Server:
npm run serve(infrontend/server)
GNU General Public License v3 - see LICENSE.