chrisscho.uk
[ INDEX // ALL SYSTEMS ]

Projects

Every system here, from flagship SaaS to micro-SaaS earners and self-running daemons, and developer-labs research. Each case file links to the live product and source where public.

totalaudiopromo.com
Total Audio Promo landing page
[ LIVE SCREENSHOT ]

Total Audio Promo (TAP)

Active
flagship saas

Everything after the music.

You finished the track. Getting it heard is seven disconnected jobs: finding the right contacts, writing a pitch that does not sound like a template, sending it, chasing it, and working out afterwards whether any of it landed. TAP does all of that in one place, for £59 a release with no subscription. It was built for agencies first, then rebuilt for the artists doing it themselves.

Next.jsReactTypeScriptTailwind CSSSupabaseStripeResend
Read the case file →
spotcheck.cc
SpotCheck curator validation dashboard
[ LIVE SCREENSHOT ]

SpotCheck

Active
micro saas

Validate Spotify playlists before you pay. Spot bots, check curators.

Paying curators to include your tracks on their playlists is a gamble. SpotCheck analyzes playlist growth metrics and flags bot risks and inorganic spikes. Available as a Chrome extension and a batch-upload dashboard.

ReactChrome Extension APINext.jsStripeSpotify API
Read the case file →
newsjack.cc
Newsjack newsjacking alert monitor
[ LIVE SCREENSHOT ]

Newsjack

Self-Running Daemon
internal tool

AI-Powered Newsjacking for Music PR.

Keeping up with music trade papers takes hours of daily reading. Newsjack tracks trade feeds (MBW, Billboard, Music Week) around the clock, uses AI to grade the relevance of breaking news, and drafts content ideas in your voice. Built to ensure your agency is first to comment on industry trends.

Next.jsTurbo MonorepoClaude APINotion APIRSS Parser
Read the case file →
sadact mild peril EP artwork
mild peril ep

sadact.uk

Active
developer labs

Release portal & digital catalog for sadact music.

The official catalog site for the sadact music project. Built to load fast, it caches Spotify metadata dynamically and provides direct CTAs to Bandcamp, SoundCloud, and major streaming endpoints.

Next.jsTypeScriptTailwind CSSSpotify APIVercel
Read the case file →
sink-web-indol.vercel.app
DataSync contact hygiene dashboard
[ LIVE SCREENSHOT ]

Datasink (sink-cli)

Active
internal tool

Data hygiene for music PR. Scrub, rinse, and soak contact lists.

PR contact spreadsheets easily rot with bad email syntax, typos, and duplicate rows. Datasink cleans up these contact sheets: corrects UK-specific domain typos (like bbc.com -> bbc.co.uk), strips duplicates, and uses AI site scraping to find submission guidelines and outlet contacts.

Node.jsTypeScriptFirecrawl APIAnthropic SDK
Read the case file →
audx studio, browser drum machineaudx studio · real UI

audx

Active
developer labs

A terminal-native digital audio workstation.

A minimalist digital audio workstation designed to run entirely in the terminal. Created to bypass complex DAWs, it features a clean pattern DSL, 16-channel audio mixer, sample indexer, and real-time audio thread rendering.

PythonTextual (TUI)FastAPIuvRtAudio
Read the case file →
[ ILLUSTRATION ]
PODFLOW SYSTEM // digest-daemonACTIVE
    ___  ___  ___/ / _/ /__ _    __
   / _ \/ _ \/ _  / _/ / _ \ |/|/ /
  / .__/\___/\_,_/_//_/\___/__,__/
 /_/
$ podflow digest --max-episodes 3
[22:42:00] SQLITE: Reading Apple Podcasts library...
[22:42:01] BATCH: Found 3 new episodes to process
[22:42:03] LLM: Summarising "AI Agents in Production" (score: 94)
[22:42:05] OUTPUT: Written 3 new digests to podflow-digest.md
github.com/chrisschouk/podflow

podflow

Active
developer labs

Automated podcast digest and transcript CLI & web viewer.

A local-first CLI tool and web frontend that parses your podcast subscriptions, transcribes episode audio streams using Whisper, and uses Claude to compile guests, key topics, and timeline digests into clean markdown summaries.

Node.jsViteReactWhisper APIMarkdown
Read the case file →
[ ILLUSTRATION ]
FINISHER DSP ENGINEPROFILE: UKG_GOLD
Spectral Match:97.8% (Gold Align)
LUFS: -14.2 (Target)Peak: -1.0 dBFS

sadact finisher

Active
developer labs

DSP mastering engine for electronic and UK garage audio.

A command-line mastering engine tuned specifically for house and UK Garage. It runs track audio through a high-precision digital signal processing chain, separating stems and matching spectral curves against custom golden-master profiles.

PythonFastAPIDemucsnumpy/scipyuv
Read the case file →
Source is private
[ ILLUSTRATION ]
bash // cockpit
$ cockpit status --all
[07:02:11] SESSION: attached tmux socket (agents: 2 live)
[07:02:11] HERMES: last heartbeat 34s ago, queue empty
[07:02:12] BRIDGE: phone client authenticated, 3 commands queued
Shell · tmux · systemdactive

cockpit

Active
internal tool

Mobile workflow control centre, the phone's front door.

Most of my work happens at a desk, and quite a lot of it does not. Cockpit is the layer that makes the running agents reachable from a phone: start a job, read what came back, approve or kill it. It moved off the Mac and onto a server in mid-2026, which is when it stopped being a convenience and started being the thing the week runs on.

ShelltmuxsystemdClaude Code
Read the case file →
Source is private
[ ILLUSTRATION ]
bash // open-desktop
$ open-desktop spawn --profile agent-sandbox
[14:20:03] CONTAINER: provisioned sandbox (cpu=2, mem=4G, net=restricted)
[14:20:05] DESKTOP: virtual display :99 up, session recording on
[14:20:06] AGENT: handed control, host filesystem not mounted
Python · Docker · Linuxactive

open-desktop

Active
developer labs

Cloud desktop infrastructure and container sandbox engine for autonomous AI agents.

An agent that can only read files is safe and not very useful. An agent with a shell on your laptop is useful and not very safe. open-desktop is the middle: a throwaway containerised desktop an agent can be given, break, and be handed a fresh copy of. It is the public one of my research repos, so the source is there to read.

Mix Check

Active
micro saas

Check your mix before you release. Free, in your browser.

You are about to send a finished track out into the world. Mix Check reads its loudness, dynamics and stereo image in your browser, flags real problems like low headroom on a phone, and tells you what a producer, a mix engineer, and a first-time listener would each notice. Free, no sign-up, and the audio never leaves your device.

Next.jsReactTypeScriptWeb Audio APITailwind CSS
Read the case file →