On 16 May 2025, Neal Kaviratna and Austin Pray posted that the Mixpanel engineering blog had moved from Medium to Substack. Neal also left a short note on Medium the same day. That note points at the Substack post and asks people to subscribe. It does not add a migration log.
The Substack post is a few paragraphs. I am staying inside what those paragraphs say.
They give two reasons. They have a lot of posts coming, and they want Substack’s newsletter so they can keep in touch. They are also curious whether Substack will increase reach. They say the way to get data on that is to ship it, and that they can roll back if they need to.
Older posts stay on the Medium archive. They say they will share the setup for keeping that archive while the new site feels like one blog. The 16 May post does not include that setup. There is no importer name, no URL map, no redirect list, and no subscriber count.
Mixpanel’s engineering group has published for a long time. The post says “over 15 years” of the company leading product analytics, as context for why the blog exists. It is not a count of posts moved.
What the playbook worries about, and what they did
The Medium → Substack playbook flags four easy mistakes. You import followers who never opted into mail. Imported posts go out as email. Images still load from Medium. Old Medium URLs 404.
Mixpanel avoided the last one by leaving the archive where it was. They do not say whether they imported Medium followers, whether any post was emailed on import, or where images are hosted. The unified-experience write-up was still a promise on the day they announced the move.
What I would copy
If the archive has years of URLs, leave it up until the redirects exist. Mixpanel did the first half of that. Publish the second half, the URL map, when you have it. A “we’ll share the setup soon” line is not a setup.
Decide before import whether a moved post emails the list. Substack will offer that send. A blog archive is a bad first email.
Write down the rollback. They say they can go back to Medium. Say what that means for new posts, the custom domain, and anyone who subscribed only on Substack.