Inspiration

As a DJ deeply rooted in the underground electronic music scene, I've witnessed first-hand how producers work tirelessly behind the scenes to create incredible tracks that fuel our sets. Yet, they're often overlooked and under-incentivized. This inspired us to create SpinBack—an app dedicated to shining a light on these essential creators and ensuring they receive recognition and compensation for their art.

What it does

SpinBack empowers DJs to share their setlists with track details and allows them to allocate a portion of their earnings to the producers of each track they play. By uploading a set, DJs can assign a percentage of their fees to individual tracks, enabling a fairer distribution of income. It connects DJs and producers in a way that supports transparency, recognition, and collaboration.

How we built it

Frontend

  • We chose React Native for its efficiency in building cross-platform apps with a single codebase, ensuring consistency in design and functionality across devices. TypeScript was integrated for type safety, making the development process more robust and catching potential bugs early.

  • The UI was crafted to be simple and user-friendly, with an emphasis on quick navigation between sets, track information, and the artist payment system. We used React Native’s FlatList and other virtualized lists to handle large sets and track data efficiently without impacting performance.

Backend

  • Firebase was selected for its seamless integration with React Native and its suite of tools, including Firestore for the real-time database and Firebase Authentication for user management

-The database structure was designed with collections for DJs, sets, and tracks, ensuring that data is stored in a relational manner. Each DJ has a sub-collection of sets, and each set holds details about the tracks played. Firebase’s real-time syncing allows DJs to instantly access and manage their tracklists, ensuring that any updates or payments are visible immediately.

Authentication

  • Firebase Authentication was used to manage user accounts securely, enabling DJs to sign up, log in, and access their personalized data. Each DJ's data is securely scoped to their account, so only authorized users can access or modify their set and track information.

Artist Search and Track Management

  • To support the search functionality for artists, we implemented a query-based search using Firebase Firestore’s indexing and ordering capabilities. This allows DJs to quickly find and add artists to their sets, making it easy to assign specific tracks to producers.

  • Each set’s tracklist is editable, and DJs can allocate a percentage of their set earnings to each track’s producer, with calculations to split the total payment among all listed tracks. This required custom logic to handle various percentages, track details, and income distributions accurately.

Challenges we ran into

One major challenge was configuring Firestore’s security rules to ensure that DJs and producers could access only their own data while maintaining strict privacy controls. With nested collections for DJs, sets, and tracks, we encountered multiple permission-denied errors, especially around read and write permissions for real-time data. Debugging these errors required extensive testing in Firestore’s Rules Playground to strike the right balance between data accessibility and security. Ensuring rule updates applied promptly in development was also tricky, as cached configurations sometimes delayed permissions, adding to the complexity. Through these challenges, we gained a solid understanding of Firestore’s security system.

Accomplishments that we're proud of

We’re proud of creating a streamlined app that reflects the collaborative spirit of the music industry. Building a platform that not only supports DJs but also gives credit and financial reward to producers is a big step toward building a fairer ecosystem in electronic music.

What we learned

We learned the importance of granular access control in Firestore, especially with complex data hierarchies. We became adept at writing conditional rules that differentiate between read and write permissions, ensuring both data security and smooth user experience. Additionally, we gained a better understanding of rule caching and real-time testing—essential for accurate permissions management during development.

What's next for SpinBack

The next step for SpinBck is integrating a secure, automated payment system. This will allow DJs to directly allocate a portion of their earnings to producers, with funds automatically deducted from the DJ’s account and securely transferred to each track’s producer. We'll be prioritizing robust security measures to protect financial transactions, using industry-standard encryption and authentication protocols to ensure a safe payment experience for all users.

Beyond payments, we plan to enhance SpinBck with analytics, showing DJs which tracks are most played and which producers are receiving the most shares, helping artists better understand their impact. We’ll also explore social features like profiles, track-sharing, and producer-DJ messaging to foster collaboration. Finally, integrating music platforms for seamless track discovery and management will further simplify the DJ experience, making SpinBck a central hub for DJ-producer connections and fair compensation in the music scene.

Share this project:

Updates