What's new
Everything that shipped, including the mistakes
Security fixes are listed alongside features rather than tucked away. If we found a hole and closed it, you should be able to read about it here.
Five holes closed after an adversarial review
A deliberate attempt to break the app from the outside turned up five real issues. All five are fixed. We publish these rather than quietly patching them, because a studio trusting us with member data deserves to know the review happened.
Kiln notifications actually send
Moving a piece to ready was updating the board without always firing the text. It does now.
Scheduled jobs no longer stampede
Six background jobs were all firing on the same minute. They are staggered, so nightly classification and retention drafting no longer contend with each other.
Reminders go by email first, SMS only if you want it
Class reminders and pickup notices now default to email, which costs nothing and needs no carrier registration. SMS turns on when you connect a messaging provider. A studio can run the whole product without ever touching Twilio.
Import an existing Shopify store
Studios already selling classes on Shopify can preview and then import products, customers and orders instead of retyping a term of classes by hand.
Row Level Security across the database
Tenant isolation is now enforced by Postgres itself, underneath the application, so a bug in ordinary request handling surfaces as an empty page rather than as another studio’s data. Background jobs still run on a key that bypasses it by design.
Member sign-in fails closed, and brute force is bounded
The magic-link path now refuses on any ambiguity rather than falling through, and one-time codes are rate limited.
Three background job endpoints were reachable without a secret
A missing environment variable made the auth check compare against the string "Bearer undefined", which anything could satisfy. Fixed and covered by a test.
Bring your own Twilio number
Messaging now runs on the studio’s own Twilio account rather than a shared pool. Your number, your sender reputation, your carrier registration, and no queue behind other studios.
One-click demo sandbox
A complete working studio, seeded in about a minute: classes with real meeting dates, 25 members with real tenure, bookings, attendance and a kiln queue at every stage. No signup, expires in 24 hours.
A scoped API and API keys
Read and write classes, bookings, members, the kiln queue and messages from your own code, with keys you issue and revoke yourself.
Connect your own Claude
An MCP server, so an owner who uses Claude can ask their studio questions directly rather than through our interface.
Studio-authored AI tasks
Write your own instructions for the front desk instead of taking ours. Each studio decides how much the agent is allowed to do on its own.
Email unsubscribe handling
One-click unsubscribe on every marketing email, honoured everywhere, as CAN-SPAM requires.
Cross-tenant access closed on dashboard routes
Dashboard endpoints were reading the studio from a request header the browser controlled. They now resolve it from the signed-in organization, which a caller cannot forge. This was the most serious issue found so far and it is fixed.
Moved to Claude Sonnet 5
The front desk and the retention drafts run on a newer model. Replies are noticeably better at declining to guess when they do not know something, which is the behaviour that matters most here.
Memberships, end to end
Plans with perks and tiers, a public signup page, Stripe Checkout in subscription mode on your own account, and webhooks that keep the member list and Stripe in step.
Retention that drafts the message for you
A nightly pass classifies members as at risk, lapsed or a hot lead, then writes a short message to the ones worth reaching. You approve, edit or skip. It never sends on its own.
Lead pipeline
A drag-and-drop board from first enquiry through tour, trial and conversion, with leads converting automatically when the person books.
Segments and broadcast
Seven built-in segments including at-risk members, lapsed members and new leads, with a preview and a confirm step before anything sends.
Embed widget
A snippet that puts booking or membership signup on the website you already have, so adopting BookClay does not mean rebuilding your site.
Signed outbound webhooks
Seven events pushed to your own endpoint, HMAC-signed, with a delivery log and automatic pause after repeated failures.
Stripe Connect onboarding
Link your own Stripe account in about three minutes. Until it is connected, paid classes refuse to publish rather than silently taking money into the wrong account.
The floor: point of sale, supplies, gift cards, account funds
Selling clay and tools at the counter, studio credit, gift cards and a member wallet, all reconciling into the same ledger as online bookings.
Private events, tax rates and invoices
Parties and studio rentals as their own bookable type, with tax handled properly and invoices that chase themselves when overdue.
Check-in kiosk, tags, perks, registration forms
Students check themselves in on a tablet. Tags and perks describe who gets what. Forms and waivers attach to a class.
Waitlists that promote themselves
A seat that opens up gets offered and charged without anyone working a list.
Want something on this list?
Feature requests go straight to the person writing the code. Small ones usually ship the same week.