Case Study·

Direct Music Licensing Platform Case Study

How we built a music licensing platform with thousands of songs across web, iOS, and Android, featuring subscriptions and a custom audio player.
Direct Music Licensing Platform Case Study

Key Takeaways

Full music licensing platform delivered in 12 months across web, iOS, and Android.
Project split into 7 milestones, from discovery to handover, with a 25-person team.
Custom audio player, Stripe subscriptions, and Hasura GraphQL API built from scratch.
PoC and MVP completed within 5 months on a fixed budget.

The client's music catalogue offers direct music licenses protected from copyright claims. Content creators and professional storytellers can use their content without worrying about legalities. Platform's license covers worldwide copyright, meaning users can play their song anywhere and everywhere. Clients' platform provides soundtracks for movies, social media, trailers, TV shows, commercials, public spaces, podcasts and more.

Platform Components

Backend Dashboard
Back-office catalogue management
Backend API
Interface for web & mobile app
Frontend App
Responsive Web Design
CMS
Content management system-based
Mobile Application
Designed for iOS/Android
Web Music Player
Customisable Javascript audio player
Stripe
Subscriptions engine
Amazon AWS
Infrastructure
E-Commerce
Single-track license purchases

Core Features

  • Music Catalog - the list of tracks combined with categories
  • Login / Register - Authorisation & authentication module (with Social Auth)
  • Reset Password
  • My Account - User's page and account settings (downloads, likes, account deletion)
  • Subscriptions - Easy, manageable subscription plans
  • Search - with advanced filters by categories, genre, mood, BPM, and more
  • Playlist - created by staff members or users themselves
  • Liked songs - favourites module
  • Downloads - possibility to download tracks to the device
  • FAQ - Manageable frequently asked questions
  • Contact Forms - Different Forms for personal or company use
  • CMS Pages - Pages such as policy, about, and more

Technologies Used

Python 3
Backend development
Hasura
GraphQL API layer
Vue.js
Frontend framework
Flutter
Mobile app development

Services & Deliverables

  • Product management
  • Product design
  • Frontend & Backend
  • Mobile App

The Music Library From Scratch

The client's primary purpose in building the platform was to start selling licences online. The client had a well-prepared features list. Nevertheless, starting this project without splitting it into smaller parts was challenging. After the first discovery call, we knew the budget. The scope was still far from defined, but it was good enough to start implementing the very first components of the platform - for instance, Web Audio Player (read more). The project began in May 2022 and finished in September 2023.

Challenge: POC & MVP

One of the biggest challenges was to organise the project and split it into smaller parts. After a few workshops, we figured out how and where to start.

Some of the questions raised during the workshops:

  1. Can we estimate such a big project based on files provided by the client?
  2. Is the known budget enough to cover expenses for the first three months of development?
  3. How fast we can set up the team?
  4. Where do you start with these big topics in the scope?
  5. How to design a system to provide value for end-users?

These (and many more) questions headed us to the next steps, where we prepared a milestones plan like the below:

Milestone 0: Discovery
Discovery Call — listen to client needs. Discovery Analysis — collect info from stakeholders. Estimate — business decisions & cooperation start.
Milestone 1: Proof of Concept
UI — polish designs provided by the client. DB API — design & implement database structure. Web Audio Player — PoC for audio player library. CMS — integrate external CMS API. Web App — frontend framework & core feature mocks.
Milestone 2: MVP Building
Backend API — GraphQL-based API. Subscriptions — Stripe engine integration. UX — improve user experience. Frontend Platform — auth, search, my account & more. Imports — client's database tracks imports.
Milestone 3: Mobile App
UI/UX — new wireframes for mobile. iOS/Android — prepare infrastructure. Development — Flutter framework.
Milestone 4: Pre Launch
UI/UX — redesign with world-class designer. iScala — Stripe Invoicing integration. AWS — dev, staging & production environments. RWD polishing.
Milestone 5: MVP Launch
Core feature improvements. Testing & bug fixing. Go live.
Milestone 6: Handover
Finalise documentation & transfer knowledge. Training with client's customer service. Move project to client's new team and infrastructure.

Even though the client provided us with UI/UX designs, we had to solve many complex problems. UI/UX designs covered only half of the functionalities, and we had to precisely define user scenarios from dozens of cases. The second issue was that the client's UI/UX designer didn't cooperate with developers to validate if everything he designed was designed in a doable way. The third thing we could improve with the client was to publish the first results earlier and then improve the system with new deliverables. Thanks to this approach, we could have avoided unnecessary coding. Eventually, we implemented all the functions we assumed and added new features, e.g. additional validations and integrations with 3rd party providers.

Solution: Deliverables

Our solution was to prepare the central API so that consumers, like mobile and web apps, could read/write data. The main idea was to keep the front end and back end separated. Because of the limited budget, we decided to start with a monolith backend.

Tech Stack

Backend
Python, Django
Frontend
TypeScript, Vue.js
CMS
Sanity.io
API
Hasura, GraphQL
Web Player
JavaScript, Vue.js
Infrastructure
Amazon AWS, Load Balancer
Mobile App
Flutter framework

Tools & Services

Jira / Trello
Project management
Notion
Documentation
Slack
Communication
GitHub
Source code
Netlify
Frontend builds
Stripe
Payments & subscriptions
BrowserStack
Cross-browser testing
Sentry
Error tracking
UptimeRobot
Health checks
Codemagic
iOS/Android builds
Bitwarden
Password management
From the data schema perspective, the project was not complicated. The biggest challenge was custom, dedicated business logic — some features were disabled for selected countries, and some were limited in the mobile app.

Client Testimonial

MusicTech Lab was thoroughly engaged throughout the partnership, successfully delivering a fully-functioning MVP. The team's workflow was highly organized, and internal stakeholders were particularly impressed with the vendor's vast technical expertise and solutions.

Paweł Przetacznik — CIO, IMS S.A

See full review on Clutch

Summary: Music & Web

Big projects come from big ideas. We were happy to work on this project from the first day. The project was a real challenge for us and the client. The value provided for the client's end-users - with high-quality content - was also essential. After many months of development, the project is live. End-users can buy licenses, browse catalogues and subscribe to monthly/yearly plans. The project had two significant parts:

  • PoC & MVP - Fixed budget and defined scope for the first five months
  • Post-MVP - Time and material for implementing, polishing and delivering features for the next seven months

During many months of development, the project engaged dozens of stakeholders. Around twenty-five people were involved. The core team consisted:

  • Tech Lead & DevOps Expert
  • Senior Backend Developer
  • Regular Backend Developer
  • Senior Frontend Developer
  • Regular Frontend Developer
  • UI/UX Designer
  • Manual Tester
  • Business Analytics

Our already prepared products helped us to focus on developing the custom business logic:

There are no perfect projects. Our transparent approach means the client always knows what, why, when, and who. During the entire development process, we transfer all knowledge about the project to the client.

Let's Build Something Together

Have a similar project in mind? We'd love to hear about it.

Get in touch to discuss how we can help bring your vision to life.