Leaving Medium — owning your URL without giving up git-push
Medium won a generation of developers with a promise: just write. No hosting, no theme surgery, distribution baked in. For a while, that was true enough that many of us parked essays next to posts on company blogs and forgot about the domain.
Then the feed changed, partner programs changed, and the quiet question returned: if this account vanished, where would my writing live?
Substack rhymes with Medium for this essay: excellent tools for reach and email, but your business is coupled to their product decisions.
Pressbin is the other end of the spectrum — not a platform, a place you operate.
What platforms actually sell you
Medium and Substack bundle:
- Editor UX tuned for drafting
- Hosting and TLS
- Discovery (algorithmic feed, recommendations, or inbox)
- Sometimes payments
What they retain:
- The canonical URL (unless you pay for custom domain features)
- The relationship with readers (email lists on Substack are real assets, but export policies matter)
- Operational control when policies change
That trade can be rational. A first-time writer optimizing for readers should not feel guilty about using a platform.
What self-hosting buys back
When you run Pressbin on a VPS you control:
- Your own domain (e.g. blog.pressbin.dev) —
not
medium.com/@you - Markdown in your Git repo — clone it, fork it, move hosts
pressbin.dbon disk — back it up withcp, snapshot the volume, ship it off-site- RSS at
/feed.xml— readers subscribe to you, not a platform feed format you do not own
Pressbin does not include an algorithm. Discovery is search engines, Hacker News, newsletters that link to you, and the networks you already have. That is work platforms used to partially absorb.
The writing experience is different — on purpose
Medium’s editor is smooth. Pressbin has no editor in the product. You write in:
- VS Code / Cursor
- Obsidian with Git sync
- GitHub’s web UI if you must
Publishing is:
git add posts/new-essay.md
git commit -m "publish: new essay"
git push
Fifteen seconds later the GitHub Action syncs the file. Tags in front matter
become /tag/{name} pages. Drafts use status: draft until you are ready.
If that workflow already describes how you ship documentation at work, a blog should not force a different religion.
Cost comparison (honest numbers)
| Medium / Substack | Pressbin | |
|---|---|---|
| Hosting | $0–$$ on platform tiers | ~$4–6/mo VPS |
| Domain | Often extra | You buy the domain anyway |
| Newsletter | Built-in (Substack) | Buttondown, ConvertKit, etc. |
| Time to first post | Minutes | ~30 minutes first time |
Pressbin’s pitch is not “cheaper.” It is predictable — you pay for a server, not a percentage of paid subscriptions.
Migrating without losing your mind
You do not need to move a decade of posts in one night.
- Export what Medium/Substack allows (HTML or Markdown ZIP)
- Convert to
posts/{slug}.mdwith front matter — scripts exist; manual cleanup for five flagship posts is fine - Publish new work only on your domain for three months
- Add canonical links on old posts pointing to the new URL when you care about SEO
- Leave platform posts up as archives if the audience still finds them there
The pressbin_blog_template repo gives you the sync workflow and secrets
wiring.
What you should not expect
- Viral distribution
- A built-in paid list (unless you integrate one)
- Non-technical co-authors typing in-browser without Git
Know the gaps before you migrate resentment into infrastructure.
A hybrid many writers use
Keep Medium for reach experiments. Publish canonical versions on your domain. Over time, search and backlinks accrue to property you own.
Platforms rent audience. A domain you operate is equity — slower to build, harder to take away.
Pressbin exists for developers who want that equity without running WordPress to get it. If you have been meaning to “move off Medium” for three years, the technical path is smaller than the emotional one: binary, config, content repo, push.
The rest is writing.