Creative Development at Jam3


WebGL, React, Socket.io


June — August 2021


Software Developer Intern


In a team of 6 interns from the Design and Development department at Jam3, we were asked to brainstorm, design, and prototype a concept answering the following prompt: How can we promote music curators through the use of playlists? The project was presented to Spotify at the end, but it was mostly used for internal purposes, therefore we were given the freedom to dream big and create something out of the box.

We envisioned a stand-alone web-based experience that transforms any given playlist to an unique 3D space where users can enter as avatars. The user can navigate in the 3D space and interact with other avatars through sending real-time synced reactions. We wished to generate different visuals for each specific playlist, thus giving individual music curators individual rooms.

Digital Avatars

Each user gets randomly assigned an avatar of a geometric shape with patterns wrapped around. Textures are animated in real-time with shaders to have an dynamic appearance.

Navigation in the Room

The users can navigate in the space, moving and rotating their avatars to reach different places in the room. Furthermore, they can safely navigate in the room without worrying of falling out of the windows because we added rigid bodies to avatar itself and the environmental assets.

Reactions as Communications

To communicate their feelings and reactions to the current song, users can send reactions by toggling a reaction menu and choosing their desired emotion. The reactions are synced across all the players.

The reaction animation was more challenging than animating user interface since it was fully 3D, and we did not have enough hands on deck to rig it with a model, so it was mostly designed through code, which I found to be particularly interesting.


One key feature I was responsible for is the multi-player aspect. We used socket.io and Node.JS web framework express.



The 3 months and a half at Jam3 was extremely rewarding. I was beyond grateful to work with my fellow developer interns Amna Azhar, Mariana de Queiroz, and design interns Nicole Lozano, Noah Melrose, Evonne Oby Okoye. I learned how projects are created at Jam3 from the very beginning when client hands over a brief to when a functional prototype is showcased by the team back to the client.

I grew as a developer under the guidance of wonderful mentors from both design and development sides.

In particular, I had the chance to learn from Amélie Rosser and Fabio Toste in the creative development department, who taught me both technical and problem-solving skills.