## 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