Inspiration
The inspiration for this project came from the lack of flexibility free to use audio production tools currently offer. Other sequencers or synths are locked into preconfigured presets made by the dev team, and artists have limited ability to break out of them.
What it does
Our application lets users upload their own assets and configure their own instruments as they please for maximum flexibility.
Sequencer This sequencer provides users with a large array of audio samples by default. Users can also upload their own sample files which are saved to our backend and persist throughout future sessions using their user id. Users can control when a sound is activated, and its individual volume level. Users can also add more default audio tracks from an even bigger array of samples that is just not populated by default.
Synth For our synth, we currently implemented a piano that has a record and play back option and can be interacted with keyboard taps. Users can change the amount of octaves they have as well for maximum flexibility.
How its built
We built the project using Next.js and Convex. Both of which had a great UX for us throughout the project. The frontend utilized tailwind and ShadCN for the UI. The backend was built in node to compliment Convex. Authentication was done using Clerk. The audio functionality was all made possible by the Tone.js library.
Challenges we ran into
The biggest challenge we had was getting familiar with new technology and the amount of music theory needed to get this off the ground. Building out the synth posted lots of complications, even more so from a mathematical perspective. The design system was also complicated to build because there are so many different types of sequencers out there we really need to focus on implementing something that our target user would be comfortable with.
Accomplishments that I am proud of
We are really proud that we were able to make this project into a full stack applicaiton
What's next for BeatBytes
The first priority will be to add more instruments to the synth. After that adding session sharing functionality to the sequencers so users can seamlessly share their work with other users will be another great addition.
Built With
- clerk
- convex
- nextjs
- node.js
- react
- shadcn
- tailwind
- tone.js
- typescript


Log in or sign up for Devpost to join the conversation.