building wake up & breathe
After several months of entertaining but less than practical AI projects - I think I might have done something useful with all my tinkering. Maybe not for a huge audience, but for my wife & me.
A few years back, my wife (Katy) & a friend of hers (Céline) began an online pilates program called Wake Up & Breathe - bespoke 30 minute classes most mornings for a small audience, focusing on breath & movement before the day got started. Subscribers could join live or watch recorded lessons anytime. Fast forward to now, and my wife is back in university - running the classes with the same regularity is no longer sustainable.
So now they were stuck with 400+ bespoke pilates classes on their old instructor’s platform. The platform’s terms stated all content was owned by the instructors, but there was no way to download or move it. To maintain access to their own videos and allow clients continued access, they were locked into paying the subscription fee without a revenue stream.
Enter Dan - husband and nerd extraordinaire… How do we get the videos off the platform? Easy peasy, a little research on the platform and we were able to write a script to bulk download all 400+ videos.
The original request to “get the videos” was already done - so in the spirit of going above and beyond - I started having some fun :)
The videos all just had date time file names - no indication of the content. But fortunately, they were well narrated by the instructors. So I extracted & transcribed all of the audio using local Whisper, fed all of the transcriptions through a local LLM with a prompt to generate titles, descriptions, identify categories, body focus, exercises & equipment. Then I used another local model to run facial recognition to tag each video with the correct instructor (way faster than doing it manually). After a bit of refinement and grooming, there was now a rich data set to accompany the videos.
Already far more than I was asked to do, I still wanted to see if we could take things a bit further…
So over the last few weeks I’ve set up a branded domain, a subscription service with Stripe (monthly/yearly plans, bundles, gift subs, pay-per-ticket live classes), on-demand streaming with locked-down expiring links, search & filtering, favourites & playlists. Live classes stream through Cloudflare and auto-record back into the library. There’s an admin panel, proper login, nightly backups tested out the wazoo, and the whole thing runs off a mac mini in the closet behind a Cloudflare tunnel.
Katy & Céline are reviewing the content and deciding which videos are worthy, and which ones were test runs that should never see the light of day.
My part is done, everything is built. Even if half the features never get used, I can say with 100% authority:
- I had a lot of fun
- I learned a LOT
- £100/month –> £7/month
- I got some good boy points
