Inspiration
Pulseboard explores a shared, real-time visual experience: visitors contribute color and movement to a global energy field.
What it does
The interface presents a canvas-based field with activity indicators, color selection, optional sound, GitHub sign-in, and a leaderboard. The repository separates the browser client from the server, with Socket.IO handling live communication and PostgreSQL supporting persistent data.
How it is built
Pulseboard uses a TypeScript monorepo with a React/Vite client and a Node.js/Express server. Its realtime interface combines Canvas, Web Audio, Socket.IO, authentication, and database-backed state.
My contributions
My verified work focuses on maintenance and documentation. I also coauthored a database-migration failure fix behind an OAuth sign-in symptom and added a rollback safeguard. This entry describes that contribution scope rather than claiming sole authorship of every system in the application.
Challenges and learning
The project connects a visual realtime interface to operational concerns: startup migrations, authentication, and safe failure handling. A sign-in problem can originate in the database startup path, so diagnosing the whole request and initialization flow matters.
Gallery and status
The screenshot is a fresh local capture of the actual frontend. It runs without a connected multiplayer backend for this portfolio capture, so the empty activity counts are not evidence of a live user session. Public source and contribution history are available in the repository.
Next steps
Validate multiplayer behavior with a connected backend, strengthen migration recovery coverage, and make connection state clearer in the interface.
Contributor: Rami Abdelrazzaq.
Built With
- canvas
- express.js
- node.js
- postgresql
- react
- socket.io
- typescript
- vite
- web-audio-api
Log in or sign up for Devpost to join the conversation.