[{"data":1,"prerenderedAt":164},["ShallowReactive",2],{"site-settings":3,"project-multi-track-player":76,"project-logs-multi-track-player":131,"project-articles-multi-track-player":140},{"global":4,"header":11,"footer":27},{"brandName":5,"brandStamp":6,"brandTagline":7,"communityUrl":8,"defaultSeoDescription":9,"defaultOgImage":10},"Useful Labs","est. 2025 · UK","Serious software, built out loud.","https:\u002F\u002Fcommunity.usefullabs.io","A product-led lab building production-grade platforms in the open — Sonic Artistes, Castora and more. A few times a year we take that same craft to a client build. Real software, shipped at product-team pace, shared honestly.",null,{"navLinks":12,"scarcityPulse":10,"showClock":25,"ctaLabel":26,"ctaUrl":8},[13,17,20,23],{"label":14,"url":15,"external":16},"Projects","\u002Fprojects",false,{"label":18,"url":19,"external":16},"Writing","\u002Fblog",{"label":21,"url":22,"external":16},"Tools","\u002Ftools",{"label":24,"url":8,"external":25},"The Hub",true,"Join the community",{"tagline":7,"aboutParagraph":28,"copyrightLine":29,"columns":30,"legalLinks":63},"A UK product lab, built in the open. Real production software, documented honestly — no hype, no highlights reel.","© Useful Labs {year} · Made in the UK with unusual patience.",[31,41,50],{"heading":14,"links":32},[33,36,39],{"label":34,"url":35,"external":25},"Sonic Artistes","https:\u002F\u002Fapp.sonicartistes.com",{"label":37,"url":38,"external":25},"Castora","https:\u002F\u002Fgetcastora.com",{"label":40,"url":15,"external":16},"Archive",{"heading":18,"links":42},[43,44,47],{"label":18,"url":19,"external":16},{"label":45,"url":46,"external":16},"RSS feed","\u002Frss.xml",{"label":48,"url":49,"external":16},"Newsletter","#newsletter",{"heading":51,"links":52},"Elsewhere",[53,54,57,60],{"label":24,"url":8,"external":25},{"label":55,"url":56,"external":25},"GitHub","https:\u002F\u002Fgithub.com\u002Fpaulwilliams-us",{"label":58,"url":59,"external":25},"X \u002F Twitter","https:\u002F\u002Fx.com",{"label":61,"url":62,"external":16},"Email","mailto:hello@usefullabs.io",[64,67,70,73],{"label":65,"url":66,"external":16},"Privacy","\u002Fprivacy",{"label":68,"url":69,"external":16},"Terms","\u002Fterms",{"label":71,"url":72,"external":16},"AI Policy","\u002Fai-policy",{"label":74,"url":75,"external":16},"Colophon","\u002Fcolophon",{"id":77,"slug":77,"name":78,"idLabel":79,"tagText":80,"description":81,"accent":82,"meta":85,"modules":95,"chips":106,"progress":114,"followLabel":117,"followHref":118,"siteUrl":119,"siteLabel":120,"status":121,"isFeatured":25,"isHeroFeatured":16,"publishedIso":122,"modifiedIso":123,"hero":-1,"contentHtml":124,"featuredImage":125,"screenshots":130},"multi-track-player","Multi Track Player","03 \u002F MT","Live · rebuild in progress","A professional stem player that puts the full band in a musician's hands — giving performers and rehearsal directors precise, independent control over every instrument in a track, anywhere, on any device. Now being rebuilt as Simply Playback, a multi-tenant platform serving multiple companies from one deployment.",{"token":83,"rgb":84},"accent","6, 182, 212",[86,89,92],{"value":87,"label":88},"Ready","Offline",{"value":90,"label":91},"API","Web Audio",{"value":93,"label":94},"Only","Invite",[96,97,98,99,100,101,102,103,104,105],"Independent stem control","Theme-based song library","Personal setlist builder","Secure authenticated streaming","Custom admin panel","Invite-only onboarding","Offline \u002F local mode","Role-based access control","Playback speed control","Zero-framework frontend",[107,108,109,110,111,112,113],"Vanilla JS","HTML","CSS","PocketBase","Wasabi S3","Web Audio API","Cloudflare Pages",{"label":115,"percent":116},"Build progress",100,"Follow the build","\u002Fprojects\u002Fmulti-track-player","https:\u002F\u002Fmultitrack.sonicartistes.com","multitrack.sonicartistes.com","live","2026-02-24T08:50:39","2026-04-24T08:41:32","\u003Cp class=\"wp-block-paragraph\">The challenge was simple to describe and complex to solve: musicians needed a way to rehearse with a full backing track while being able to isolate, mute, or solo any individual instrument stem — in real time, in the rehearsal room or at home, without specialist hardware.\u003C\u002Fp>\r\n\r\n\r\n\r\n\u003Cp class=\"wp-block-paragraph\">The result is a \u003Cstrong>purpose-built stem player\u003C\u002Fstrong> delivered entirely in the browser. Audio stems are stored securely on Wasabi S3 and streamed on demand, with per-song authorised access tokens generated server-side via PocketBase. Each stem&#8217;s volume is controlled independently through the \u003Cstrong>Web Audio API\u003C\u002Fstrong>, giving performers the feel of a mixing desk in a lightweight interface that works on any device — laptop, tablet, or phone.\u003C\u002Fp>\r\n\r\n\r\n\r\n\u003Cp class=\"wp-block-paragraph\">The content management side is a custom-built \u003Cstrong>admin panel\u003C\u002Fstrong> integrated directly into the app. Administrators can create and organise song libraries, group them into themed collections (each with its own album artwork), manage user accounts, and distribute local-mode data exports — all without touching a database or writing a single line of code. The entire platform is invite-only: new musicians receive a branded onboarding email with a one-click account setup link, then land directly in the player.\u003C\u002Fp>\r\n\r\n\r\n\r\n\u003Cp class=\"wp-block-paragraph\">Particular care was taken with the \u003Cstrong>offline and local modes\u003C\u002Fstrong>: for studio or touring environments without reliable internet, the app can run entirely from a local data export, loading stems from the file system via the File System Access API. This meant designing a single codebase that adapts its data layer at runtime — the same UI code powers both the cloud-connected and fully offline experience.\u003C\u002Fp>\r\n\r\n\r\n\r\n\u003Cp class=\"wp-block-paragraph\">The project is live at \u003Ca href=\"https:\u002F\u002Fmultitrack.sonicartistes.com\" target=\"_blank\" rel=\"noreferrer noopener\">multitrack.sonicartistes.com\u003C\u002Fa> and is actively used by the Sonic Artistes musician community.\u003C\u002Fp>",{"src":126,"alt":127,"width":128,"height":129},"https:\u002F\u002Foffice.usefullabs.io\u002Fassets\u002Fb45187b9-0bd7-4784-b7f3-51471b895a21","Sonic Artistes Multi-Track Player",1920,1281,[],[132],{"id":133,"slug":134,"projectId":77,"kind":135,"title":136,"contentHtml":137,"dateLabel":138,"publishedIso":139,"commitUrl":-1,"image":-1},"24176f2e-5fea-4610-b08c-ebe6befd3887","what-this-thing-is-for","noted","What this thing is for","\n\u003Cp class=\"wp-block-paragraph\">Short tool for layering audition backing tracks with a click track. Built it for myself first — musicians submitting to Carnival cruise auditions need a reliable way to play along without buying Ableton. Nothing fancy, two tracks, tempo, a metronome. Goal: under 200 lines, no backend.\u003C\u002Fp>\n\n\n\n\u003Cp class=\"wp-block-paragraph\">\u003C\u002Fp>\n","2mo ago","2026-04-24T16:39:54",[141],{"index":142,"slug":143,"title":144,"excerpt":145,"category":146,"categorySlug":147,"tags":148,"dateLabel":138,"readingLabel":158,"readingMinutes":159,"publishedIso":160,"href":161,"isFeatured":25,"relatedProjectIds":162,"featuredImage":163},"#0003","why-we-built-a-stem-player-in-the-browser-and-not-in-logic","Why we built a stem player in the browser (and not in Logic)","The brief was simple: let performers isolate and solo any instrument in a backing track, anywhere, on any device. The obvious answer was a DAW plugin. We went the other way — and the browser turned out to be the right call.",{"label":34,"tone":83},"sonic-artistes",[149,151,154,156],{"name":113,"slug":150},"cloudflare-pages",{"name":152,"slug":153},"Offline-First","offline-first",{"name":110,"slug":155},"pocketbase",{"name":112,"slug":157},"web-audio-api","3 min read",3,"2026-04-23T10:20:14","\u002Fblog\u002Fwhy-we-built-a-stem-player-in-the-browser-and-not-in-logic",[77],{"src":126,"alt":127,"width":128,"height":129},1782519037276]