Crafting experience...
6/28/2026
A Project Made By
Submitted for
Built At
HuddleHive's WIT Hackathon #6
Hosted By
What is the problem you are trying to solve?
Last year, I looked at my Spotify Wrapped and realized I'd streamed my favorite artist 847 times. I felt good about it, like I was supporting them. Then I did the math. At £0.003 per stream (Spotify reported data), they earned £2.54 from me. For an entire year of being their 'top fan', they barely got enough for a coffee from me. Whereas, their record label earned £17.78 and Spotify kept £5.08.
Here's the uncomfortable truth: most music fans have no idea where the hundreds of pounds they spend on streaming subscriptions, concert tickets, merchandise and albums actually goes. We ran a quick survey with some hackathon attendees and within our own circles. The average person guessed artists earn around £1 per stream. The real number is £0.003–£0.004 per stream, which means an artist needs over 300 streams just to earn £1, before labels, managers and distributors take their share. A signed artist on a standard major label deal may see as little as 20% of that, leaving them with roughly £0.60-£0.80 per 1,000 streams.
Source: Spotify's own "Loud & Clear" transparency reports (2023-2024) disclose an average per-stream payout of $0.003-0.004 USD. Independent analyses by The Trichordist (2024) and artist advocacy groups like the Union of Musicians and Allied Workers place the artist's net share—after label, distributor, and manager cuts—at 15-25% for major label artists and 70-85% for independents.
Who does it affect?
Two groups are affected disproportionately:
Dedicated fans who genuinely want to support artists but have no way to know if their actions are actually helping
Independent and mid-sized artists who need direct fan spending to survive, but lose out because fans default to streaming without understanding the revenue gap
Just 2.6% of the 10+ million artists on Spotify earn more than £1,000 from the platform. In 2024, independent artists collectively lost $47 million in royalties due to Spotify's minimum stream threshold policy alone. Even successful touring artists selling out 2,000 pax capacity venues are stuck in a system where opacity protects everyone's margins except theirs. Taylor Swift pulled her music from Spotify in 2014 over exactly this issue. Meanwhile, the three major labels (Universal, Sony and Warner) control the majority of streaming revenue distribution, with limited transparency about the terms they impose on artists.
The problem is not just limited to streaming. A £20 concert ticket at a UK venue can carry a 41% fee markup - booking fees, venue levies, processing fees and mobile ticket charges stacked invisibly at checkout. One in five tickets ends up on secondary platforms, costing fans an estimated £145 million annually in markups that reach neither the artist nor the venue. When fans buy merch at a show, venues often take 20–35% before the artist sees anything. Concert ticketing in the UK is dominated by Ticketmaster and its parent company Live Nation, which control an estimated 70-80% of the primary and secondary ticketing market.
Source: Reporting by BBC News (2023) and research by FanFair Alliance based on resale listings data from Viagogo and StubHub.
Why hasn't this been solved?
Because the music industry has no incentive to solve it. Opacity protects margins and Ticketmaster, major labels, and streaming platforms all benefit from fans not knowing where their money goes. The system is designed to keep you in the dark and it's getting worse as physical media, where artists historically earned more per unit, continues to decline. Streaming revenue isn't replacing it at equivalent rates and industry consolidation in platforms is increasing to lead to monopolies. The system is becoming less fair as it becomes more dominant.
Why should you care:
We built FanCheck because we got tired of feeling helpless about it. This isn't an abstract problem. It's personal. We all have artists we care about - some huge, some tiny and we want to see them succeed. For independent artists, that especially means being able to afford health insurance, tour without going into debt, and make more music instead of working a side job. The system isn't set up for that. It's set up to extract maximum value from both fans and artists while keeping everyone in the dark. We can't fix the system alone, but we can shine a light on it and give fans the tools to vote with their wallets.
Transparency isn't just a feature. It's a weapon.
What is your idea?
FanCheck shows music fans exactly where their money goes, and gives them frictionless ways to ensure more of it reaches the artists they actually care about. We help music fans spend their time and money smarter so they can genuinely support the artists they love.
It is a website supported with a browser extension that sits at the intersection of music streaming data and purchasing behaviour. When fans go to buy a concert ticket, an album, or merchandise, the extension intercepts the checkout process. It shows a real-time insight: how much of this purchase reaches the artist directly, and whether an alternative, like buying from the artist's official store would result in meaningfully more money going to them.
Every month, all of this data rolls up into a monthly report: total music spend, how much actually reached artists, and a personalised suggestion for how the user could have directed more of their money more effectively. The goal is to close the information gap that currently makes fans passive consumers and turn them into informed supporters.
How does it fix the problem?
FanCheck is a transparency platform that shows music fans exactly where their money goes and makes it effortless to spend more of it on the artists who deserve it. The process is below:
Website
Users land on our website and immediately see three things without needing to sign up: a live counter of total artist earnings generated by our community, a royalty calculator showing how much reaches an artist across different platforms and purchase types, and trending data on which platforms and artists are seeing the most fan support.
When a user connects their Spotify account via OAuth, the experience becomes personal. They see:
Personalised dashboard: showing their top artists and the estimated royalties each has earned from their streams with the calculation shown ("Based on Spotify's published rate of £0.003 per stream, your 84 streams of [Artist] this month earned them approximately £0.25"). They see how that compares to what the same artist would earn if the fan bought an album direct, streamed on Tidal, or attended a show.
An algorithm dependency score: showing the percentage of their listening that came from Spotify-recommended playlists, radio, and editorial picks versus music they actively searched for or saved themselves. A score above 60% means Spotify's algorithm, not the fan, is largely deciding what artists get their attention and money.
Personalised recommendations ranked by impact and friction: starting with the easiest actions ("Follow [Artist] on Bandcamp for free, and it helps them understand their real fanbase") before nudging toward higher-effort switches.
Ghost stream alert: system that flags artists in their listening history where public signals are inconsistent with their stream counts, such as very high streams but near-zero social presence, catalogues of tracks under 30 seconds, or no live activity despite claimed popularity. We are explicit that these are signals, not accusations, and we recommend real artists with a similar sound.
How we detect this: We cross-reference artist names against MusicBrainz (an open music database), Songkick (live concert tracking), and Bandcamp (a verified artist platform). Artists with zero presence on any of these, combined with high stream counts and generic naming patterns, are flagged. We're explicit that these are signals, not accusations, and show our confidence level (e.g., "72% confidence").
Browser extension
The browser extension activates automatically when a user visits a ticket or merch purchase page. On recognised platforms like Ticketmaster, it shows the exact fee breakdown (face value, booking fee, venue levy, processing fee, and total) alongside a direct link to a fairer alternative such as the venue box office, DICE, or the artist's own store. On unrecognised sites, it uses the Claude AI API to classify whether the page is a music purchase, extract any visible price information, and surface our standard guidance. Every fee figure shown includes its source and a confidence rating.
Why this matters: In our survey, 70% of respondents said they'd be willing to buy concert tickets directly from artists. But 19% didn't know where to buy directly. The extension closes that gap at the exact moment of purchase.
Monthly Report
Once a month, you get an email with three things:
Your Fairness Score (0-100): a measure of how much of your music spending reached artists directly versus intermediaries, with a month-over-month trend: "Your November Fairness Score: 23/100 (up from 18 in October). You're doing better, but there's room to grow."
Three personalized actions ranked by impact and effort:
Low effort: "Follow [Artist] on Bandcamp (free, 10 seconds)"
Medium effort: "Switch 20% of your listening to Tidal (pays 3× more per stream)"
Higher commitment: "Buy one album direct per month (= 3,000 streams' worth of revenue)"
Ghost artists (if any) streamed and alternative playlists with real artists producing similar music and one-click playlist downloads.
The report is shareable, like Spotify Wrapped. A social card showing "My Fairness Score: 34/100. What's yours?" drives organic growth.4
We're not asking people to boycott Spotify or abandon Ticketmaster. We're showing them the reality of their current behavior, then offering effortless alternatives ranked by impact. We're also the only tool addressing ghost streaming, a problem most fans don't even know exists. Streaming fraud is estimated to cost the industry $300 million annually, diverting money from real artists to bot farms.
Ethical Partner Programme
Platforms can apply for our "Verified Transparent" badge by submitting their fee structures, artist royalty rates, and contract terms for public disclosure. We publish everything they submit, exactly as submitted, with full attribution. The badge doesn't mean we've verified every claim, it means they chose transparency and are publicly accountable. If disclosed data is later proven false, the badge is removed and the disclosure stays public.
This creates an incentive: platforms that are transparent get recognition from an audience actively looking for fairer alternatives.
Monetisation
We will use ads and request donations from users (like Wikipedia) to fund our operations. However, we will ensure to accept sponsorship or ads from platforms that may be in conflict of interest to our platform's purpose.
Freemium model
Free users get:
- Last 30 days of listening history
- Basic impact report
- Top 5 artists breakdown
Premium users get (£2.99/month)
- Full 12-month history analysis
- Monthly transparency report with Fairness Score
- Shareable social cards (like Spotify Wrapped)
- Ghost stream detection with replacement playlists
- Priority access to new features
The free tier exists to grow the user base and demonstrate the problem. The paid tier is for users who want to track whether they're improving and share that progress.
In our survey, 74% said transparency would be valuable (extremely or very). If some of those convert to premium at £2.99/month, the unit economics work.
B2B data insights (future revenue stream)
Artists and management want to know: "Which platforms are my fans switching to? What nudges are working?"
We can provide aggregated, anonymized insights: "Your fans using FanCheck shifted 18% of listening to Bandcamp last quarter. Suggested action: release exclusive demos there."
(this is a future revenue stream)
If we're demanding transparency from platforms, we have to hold ourselves to the same standard.
Backend: Flask API + SQLite Database
Our backend is built in Flask with SQLAlchemy managing a SQLite database, deployed on Render. Here's the flow:
User registers/logs in → /auth/register or /auth/login
Backend validates credentials, stores account in database, returns a JWT token.
User connects Spotify → /auth/spotify
Redirects to Spotify OAuth page. User grants permission to read listening history, top artists, recently played tracks. Spotify redirects back to /auth/spotify/callback where we exchange the auth code for access and refresh tokens, save them in the database.
User requests their report → /report
Backend uses saved Spotify token to call Spotify's API, fetch listening data (including the context field that tells us if a track was user-initiated or Spotify-recommended), calculate estimated payouts using our royalty rates table, return structured JSON.
Data transparency
Our royalty rates come from:
Spotify's annual Loud & Clear report
Published per-stream rates from DistroKid, TuneCore, Ditto
Duetti's 2024 cross-platform comparison
UK Music's annual industry reports
Every figure shown to users carries its source and confidence rating: verified (from published data), estimated (from industry averages), or limited data (directional value only).
Frontend: React (in progress)
The deployed backend is live — visiting the root URL returns a JSON status response. The React frontend is the next build step. It will:
Authenticate against /auth/login, store the JWT
Call /report to render the personalized dashboard
The architecture is ready for this — backend is fully functional, frontend is a clean layer on top.
Browser Extension: Chrome Manifest V3
The extension runs independently for detection and overlay logic:
Uses keyword/URL pattern matching to identify ticket and merch purchase pages
On unrecognised sites, sends page title, URL, and visible text to Claude AI API to classify if it's a music purchase page and extract price info
When user is logged in, extension connects to their account so dashboard recommendations inform what alternatives the extension surfaces at checkout
Data Flow:
User → Frontend (React) → Backend API (Flask) → Database (SQLite)
↓
Spotify API / Claude AI
↓
Returns: listening data, royalty estimates,
algorithm dependency, ghost alerts
The frontend never touches the database directly. Everything flows through the authenticated API using JWT tokens.
Label contract opacity
The biggest data challenge was artist-label deals. A Taylor Swift contract looks nothing like a Phoebe Bridgers contract, which looks nothing like a self-released Bandcamp artist's deal with a distributor. These contracts are confidential and vary wildly with royalty splits ranging from 15% to 85%.
We can't show users the exact amount a signed artist earned from their stream. So we made a choice to be honest about the uncertainty.
Our dashboard shows: "Phoebe Bridgers is signed to Dead Oceans (indie label). Based on typical indie deals, she likely keeps 60-80% of streaming royalties after distribution costs. Your 84 streams earned her approximately £0.15-£0.20. [See methodology]"
Source for label deal ranges: Analysis by the Music Managers Forum (MMF) UK and Featured Artists Coalition; reporting by Pitchfork and Rolling Stone on leaked contracts from major and indie labels; artist disclosures on platforms like Penny Fractions newsletter.
Behavior change is hard
Our survey confirmed this: 41% said "streaming is more convenient" as the main barrier to buying direct. Only 11% said they'd switch platforms.
So we always lead with the lowest-effort action that still has meaningful impact. Our actions are meant to complement or modify the user's existing actions, not replace them completely - which is where we would get the most resistance.
1. Free, 10 seconds: Follow an artist on Bandcamp
2. Free, 2 minutes: Replace a ghost playlist with real artists
3. Low cost, moderate effort: Buy one album per month on Bandcamp (£8-10)
4. Higher commitment: Switch 20% of listening to Tidal or Apple Music
5. Biggest ask: Subscribe to an artist on Patreon (£5/month recurring)
The monthly report tracks whether nudges are working. If someone's Fairness Score isn't improving, we adjust the recommendations and create a feedback loop.
Ghost stream detection accuracy
How do you know if "Chillhop Records" is a bot farm or a legitimate record label? You don't, with 100% certainty, so we're conservative:
- We flag only obvious cases (zero external presence + generic naming + suspicious catalog patterns)
- We show confidence scores: "78% confidence this is ghost streaming. Reasons: no MusicBrainz entry, no live shows, generic name."
- We let users report false positives: "Is this artist real? Let us know."
- Real artists can claim and verify their profiles to remove ghost flags.
We'd rather under-flag and be accurate than over-flag and lose credibility.
Legal risks
We're careful not to scrape Spotify and only use the official Spotify Web API, which is public, legal, and explicitly designed for third-party apps like ours.
We also don't defame. We use neutral language: "Typically, artists earn 15-25% of streaming revenue on major label deals" instead of "Spotify is ripping off artists." Under GDPR, users have the right to access and analyze their own data. We're just making that easier.
Business model setup
We were clear we did not want this to be a profit venture, only bringing enough revenue to cover maintenance and operations cost.
We initially thought of charging artists a small fee to be verified on the platform but realised that would just be replacing one intermediary with another for them, exactly against our mission. We also debated having affiliate links of the platforms we're recommending and earning commissions from marketing. However, this meant users would distrust us and we only want to recommend on what's best for artists, not basis the money trail. After a lot of brainstorming, we decided to put the onus on the user for demanding more information to guide their choices.
What did you learn? What did you accomplish?
We built a working Spotify OAuth flow that pulls real user listening data and calculates personalized earnings breakdowns and algorithm dependency scores.
We built a Chrome extension that detects Ticketmaster pages, scrapes event data, and injects a fee breakdown overlay with links to alternatives.
We integrated the Claude AI API as a fallback classifier, so the extension works on any ticket or merch site and not just ones we've pre-mapped.
We ran a live user survey and collected real data showing the perception gap: 37% think artists get 10-50% from streams or subscriptions and another 10% have no idea.
This helped us validate demand since 74% said transparency would be valuable. People want to do better but they just don't know how.
Personally, our team came together in less than 10 mins and we've all contributed across the strategic & technical elements of the product, and provided several opportunities for team members to practice skills in fields they're not familiar with. We built a highly diverse team and collaborated well together. We're also proud of the idea, our efforts in the last 24 hours and feel passionately about the product we've built.
What are the next steps for your project? How can you improve it?
Immediate next steps (Month 1-2):
Expand API integrations beyond Spotify to Apple Music and Tidal. Apple Music is especially important as 18.5% of our survey respondents use it, and it pays artists 2-3x more per stream than Spotify. We will also expand to other ticketing platforms like Ticketmaster (and start tracking purchase data, access past purchase history and build personalized recommendations for users) to expand the ecosystem.
Formalize the Ethical Partner Programme with DICE and Bandcamp as anchor partners.
Build the monthly report as a shareable format with social cards showing Fairness Score, top artists supported, and month-over-month improvement. This drives organic growth (Spotify Wrapped-style virality).
Recruit beta users through artist partnerships. Get 5-10 indie artists to share FanCheck with their fans: "Want to know if you're really supporting me? Check this tool" and get them to record thank-you video messages for top supporters.
6-month roadmap:
Ghost stream detection v2.0 with improved accuracy using Spotify chart anomaly data and user-reported corrections. Build a crowdsourced database of ghost artists and build verification later.
Mobile web app since most streaming happens on phones. The current site works on mobile web, but we need to optimize the UX.
B2B pivot to offer aggregated insights to artists and labels as a fan engagement and retention tool.
12-month goal:
The metric that matters most to us isn't revenue or user count. It's total additional artist earnings generated by users who changed their behavior after using FanCheck. We will track this number and report it publicly. Because if we're not transparent about our own impact, we have no right to demand it from anyone else.