## This Week Another heads-down week on the tiered subscription migration. There is only one open issue for handling delinquent subscriptions to wrap up. πŸ™Œ - Implemented a way to prevent subscription changes while the migration runs - Consolidated our feature flags so new pages, plans and assistants feature are only available for migrated sites - Set up tiered and legacy Stripe prices in sandbox and production - Added VIP migration path to tiered subscriptions - Updated new plans page to show updated email tiers and prices updating dynamically depending on the selected email tier - Consolidated plan change email and analytics for tiered subscriptions - Removed Zapier Triggers from the new Mover plan and added grandfathering for current Movers to keep it - πŸŽ‰ Migrated test site in production for sanity checking - Wrapped up coupon handling for the migration - Landed the work to carry existing discounts through to the new subscriptions when a creator only had a coupon on their base plan - Handled the trickier case where a creator has discounts on both their base subscription and their email subscription to carry one forward and mint a one-time replacement for the other so nobody silently loses a discount - Added a fix for the yearly-tier version - Surfaced flagged coupon migrations in the Backstage dashboard so we can manually review the edge cases - Decided how to handle subscriptions that are past-due or unpaid - Did a lot more research into these sites and how we would migrate them - Shipped a guard that prevents either state from being migrated - Got sign-off from Katherine and Len to cancel all sites currently in the unpaid state (none of them have been successfully charged since 2021) and ran the cancellations - Started building the flow for handling past-due sites that *can* still be saved - Built logic to figure out how long a site has been delinquent and the trial-demotion flow that moves a delinquent site onto a trial plan - Added automated emails to warn the site owner they have 30 days to fix the issue or they will be moved to a trial - Implemented billing intervals syncing (monthly vs yearly) for migrating subscriptions that credits creators for the unused portion of a prepaid yearly email subscription when we collapse them down to monthly - Fixed a rollback bug in the migrator where a failed migration could leave the subscription in a half-converted state - Finished the stress test scripts for helping us test multiple different scenarios - Shipped multi-select filtering on the Backstage migration dashboard so we can slice the at-risk site list ## Next Week - Finish the delinquency categorizer, trial-demotion, and waiting-period flow - Create way to do automated checks that run during the migration to verify sites are in the correct state and surface issues as soon as possible - Start testing the hell out of the migrator