A membership studio the teacher runs herself
We built Poetry in Motion for the studio of Trilby Goouch, a Vancouver movement teacher. Members join, stream short home practices and manage their own billing, while Trilby uploads new classes from her browser.
Visit the live site (opens in a new tab)what today?
how long have I got?
- Built for
- Poetry in Motion, Trilby Goouch's movement studio in Vancouver
- Role
- Product build, applying and refining an existing brand guide
- Platform
- Web, installable to a phone home screen. No native app, by design
- Stack
- Next.js, Supabase, Stripe, Mux, Resend, Vercel
- Timeline
- First commit 23 August 2026, live 28 September 2026
- Status
- Live
The problem
Teachers who sell video classes online usually choose between two compromises. Packaged platforms are quick to start but charge per subscriber, so the bill grows with every member. At 150 members, the packaged options were modelled at about $315 to $447 a month. Stitching separate tools together splits payment, access, publishing and playback across services.
Two more constraints shaped this build. The person publishing is not technical, and if uploading meant a video dashboard plus a database editor, she would likely stop publishing. And hiding a play button is not a paywall, because an unsigned video link can be copied and shared.
Screens from the live site, desktop and phone






The solution
Poetry in Motion is a web membership platform built around the two questions members ask: what do I do today, and what fits the time I have? The library sorts 5 to 30 minute practices into three collections, with a 10, 20 or 30 minute filter. Members join through embedded Stripe Checkout or a 7-day trial, sign in with an emailed six-digit code, and change cadence, cancel or resume without writing to anyone.
Every video plays through a signed link that expires, and the database checks access a second time. Behind sign-in, a staff area called Studio lets Trilby upload video straight to Mux from her browser and set each practice's title, collection and visibility. The site went live on 28 September 2026, with a real paid join, a trial and playback checked that day.
Feature highlights
- Sign in with a code.
Members get a six-digit code by email, with no password to forget or reset.
- Studio, her staff area.
Trilby uploads video and thumbnails directly to Mux, then finds and edits any practice by name or collection.
- Two-layer paywall.
Each viewer gets an expiring Mux token, and row-level security in Supabase gates access as well.
- Billing members fix themselves.
Members replace a card, find receipts, pay a missed renewal or switch cadence without emailing anyone.
- Missed-payment notes in her voice.
Stripe retries a failed payment 8 times over 14 days while access continues, and the reminders are signed by Trilby.
Inside the membership
After the emailed code, members land in the library. Featured practices sit on top, then the three collections, with every practice marked by its length so the time question is answered at a glance.
On a phone each row swipes sideways, and the next card peeks in to show there is more. One tap opens the practice page, where it plays and can be saved to favourites.



Trilby's Studio
Studio is the staff side of the same site, behind the same sign-in. It opens on one list of every practice, with its collection, its length and whether members can see it, plus search and a collection filter.
Add practice uploads straight to Mux from her browser. Studio arrived on 10 October 2026, after launch, and moved her staff tools into one place.

The thinking
- Custom over packaged.
Per-subscriber pricing turns growth into a cost. At 300 members, packaged platforms were modelled at roughly $465 to $746 a month, against about $36 for the custom build.
- Web only, no app store.
Apple takes 15 to 30% of in-app subscriptions. At 150 members paying $30 a month, that is more than ten times the hosting bill, and an app download adds a step between deciding and paying.
- Collections and a time filter, no tags.
Those two controls answer the questions members actually ask. Tags would have been a standing chore for the person publishing.
- Codes instead of passwords.
Trilby is the support desk, and passwords cause the most support requests for a consumer subscription. Removing them removes that whole category of email.
- Brand colours tested for contrast.
The brand guide, by another designer, allowed every accent as text on cream. Warm Orange measured 2.20:1 and Golden Yellow 1.58:1, so both became fill-only, and Bold Red was darkened 2% to pass as text.
The client's palette, set as text on cream
The palette comes from the brand guide by another designer. We applied it and tested it.
- home practicesDeep Blue
#0E32A5Inverse surfaces and accent text - home practices90s White
#F6F2EBThe page itself - home practicesBold Red
#D72638Fills and calls to action4.46:1, darkened 2% to #D32537 for 4.60:1 as text - home practicesWarm Orange
#F28C28Fill only2.20:1 as text on cream - home practicesGolden Yellow
#E6BF50Fill only on cream, fine as text on blue1.58:1 as text on cream - home practicesLucky Green
#297B3AA practice card colour - home practicesInk
#171715Text
Kind words, not ours
What's next
Live since 28 September 2026, with no member numbers to report yet.
The target is 25 non-gift members still subscribed 90 days after first payment, and self-serve gift purchases are designed but not built.
Selling your own classes online? Tell us about your members.
kyle@sindstudios.com
Kyle reads every message.
Next thought · Project TasksA task list where Claude does the filingRead it