Testing the Big Stuff
v0.8.0 teased four things as “What’s Next” — reader subscriptions, scheduled posts, author analytics, and image uploads. v0.9.0 ships three of them. This release is heavier on plumbing than polish: the features are live on beta, but we’re still actively shaking out bugs around chapter access, scheduling logic, and the Stripe Connect flow. If you hit something weird, please tell us.
Reader Subscriptions (Stripe Connect)
Premium authors can now charge readers directly. Payments flow from the reader to the author through Stripe Connect — Writers Grove isn’t the merchant of record for your earnings.
Tier Types
Create up to three kinds of tiers:
- Free - Gated access without a payment requirement
- Per-Chapter - One-time payment per chapter
- Monthly - Recurring subscription for ongoing access
Author Onboarding
Premium authors go through a Stripe Connect OAuth flow to link a payout account. Once connected, you can create, edit, and publish tiers from the Tiers management page in your dashboard.
Automatic Safeguards
If your premium status lapses, a database trigger automatically hides your tiers from readers so nobody gets charged for content you can no longer gate. Resubscribe and they come back.
Schedule Plans
Pair with subscription tiers to control when each tier unlocks a chapter.
How It Works
A schedule plan is a set of offset days from a chapter’s publish date. You assign a plan to a tier, and readers on that tier get access once the offset has elapsed.
Cascade Priority
Defaults cascade from account → series → book, with more specific overrides winning:
| Level | Applies To |
|---|---|
| Account | Default plan for everything you publish |
| Series | Overrides account default for that series |
| Book | Overrides series default for that book |
Creating an override shows a warning so you know you’re diverging from your defaults.
Public Release Dates
Even without a subscription, readers see when a chapter becomes publicly available based on the maximum offset across your tiers. No guessing.
Premium Custom Analytics
Premium authors can now drop their own analytics tracking into their author pages.
Supported Providers
- Google Analytics 4 - Paste your GA4 measurement ID
- GoatCounter - Add your GoatCounter site code
Scripts render on your profile, series, book, and chapter pages. They only load while your premium subscription is active — cancel and the tracking cleanly disappears.
Ad Blocker Bypass
We proxy the GoatCounter script through /p on Writers Grove itself, so ad blockers that target third-party analytics domains don’t eat your data.
Newsletter Subscriptions
A simple toggle has been added to the profile edit page so readers can opt in or out of the Writers Grove newsletter without digging through settings. The newsletter page is now separate from the maintenance countdown page, which was causing confusing cross-contamination.
Homepage Carousel Arrows
Desktop users asked for it: left/right arrow buttons now appear on every homepage carousel when there’s content to scroll to. Arrows advance one card at a time and hide automatically on touch devices where swiping feels better.
Pretty 404 Pages
User-facing routes (authors, series, books, chapters) now render a friendly not-found page instead of the bare ASCII fallback. The ASCII 404 still shows up on unimplemented dev endpoints so we can tell the two apart. Usernames are also now matched case-insensitively, so /u/JaneDoe and /u/janedoe resolve to the same profile.
Bug Fixes & Hardening
A lot of this release was hunting down issues that surfaced once real beta users started pushing on the system.
Chapter Access
Three separate bugs in the new access-check logic were blocking content that should have been public:
- Non-subscribers blocked when the author had no tiers or schedule plans configured at all
- Non-subscribers blocked even after the maximum schedule offset had passed (the public release date)
- Subscribers blocked when their tier had no schedule assignment
All three are fixed, and we added a GetMaxOffsetForContent query to calculate public release dates efficiently.
Authentication
- Fixed double magic link emails during new user sign-in — the login modal was being initialized twice (once for desktop nav, once for mobile), attaching duplicate submit handlers
- Added
/logout-allendpoint to activate the per-user token revocation mechanism that was sitting dormant - Replaced fragile
pq:error string matching with structured pgdriver error types (SQLSTATE 23505) for unique constraint violations
Trending Query
The homepage “Trending” carousel was referencing reviews.series_id, a column dropped back in migration 000014 when reviews became chapter-only. The query now joins through chapters and books correctly.
Maintenance Mode & CDN
- Replaced the maintenance boolean with a time-based check — maintenance ends automatically when the countdown expires, no more infinite reload loops
- Moved
/sw.jsand/manifest.jsonoutside the maintenance middleware so the service worker doesn’t throw SecurityErrors during maintenance windows
Mobile & UI
- Hamburger menu now closes reliably on tap (event delegation,
stopPropagation, outside-click close, andtouch-action: manipulationto kill the double-tap-zoom delay) - Schedule-plans JavaScript no longer crashes on pages where the UI isn’t present
- Book cover upload now parses IDs correctly
- TTS no longer relies on the unreliable
resume()API; added retry logic for synthesis failures
Database
- Renumbered a migration (000028) that conflicted with an existing 000024
- Fixed schedule plans migration syntax
What’s Next
We’re closing in on v1.0. Remaining work before we call it production:
- Image Uploads - Still the last holdout from the v0.8.0 list; direct upload for covers and profile images
- Author Analytics Dashboard - Our own built-in analytics view for premium authors (separate from the custom GA4/GoatCounter integration shipped in this release)
- Continued Subscription Tier Stabilization - More edge cases as beta authors exercise the full Stripe Connect + schedule plan matrix
- 1.0 Launch - Moving out of beta once the above is solid
Try It Out
All features are live on beta.writersgrove.net. If you’re a premium author, the Tiers and Schedule Plans pages are waiting in your dashboard. If you run into access issues — especially around chapter gating — please report it so we can keep tightening the screws.
Join our Discord to compare notes with other writers and readers.
Questions or feedback? Reach out at steven@writersgrove.net


Comments