Just found my first sketches from 2017(!) imagining what Ghost might look like with memberships built in This was several years before anything like it existed in the publishing world We were only a team of ~7 people at the time, so it took us a while to get there, but the idea was the right one
John O'Nolan
@johnonolan.bsky.social
Founder/CEO at @Ghost.org - Geographically restless. Mostly posting about publishing, media, open source, JavaScript, Laravel, bootstrapping, SaaS, activitypub, and design.
In Amsterdam for PublicSpaces conf ✌️ say hi if you’re around
Messing with a floating Ghost admin toolbar that sits at the bottom of your screen if you're signed in as a staff user, for quick access to edit any post/page
experimenting with a media library for @ghost.org (WIP)
On this day, 13y ago, @ghost.org started as an idea on kickstarter 5,000+ people backed the project to help bring it to life and support the future of media and journalism Today, Ghost has generated over $150M for independent publishers all over the world www.kickstarter.com/projects/joh...
Ghost: Just a Blogging Platform
An open source blogging platform which makes writing pleasurable and publishing simple.
kickstarter.com
Lots of publishing platforms claim to be independent and open. Ghost actually is. 🪷
We believe culture and media shouldn’t be controlled by any centralized tech platform or venture-backed corporation. As we continue to build open infrastructure for the future of publishing, Ghost is now recognized as a Digital Public Good 🪷 ghost.org/changelog/di...
In SF for Stripe Sessions again this year - say hi if you’re around!
Experimenting with some AI-assisted features in @Ghost for helping with generated structured data and site administration Kinda fun. Not sure what the UI should be. Don't really want to have to click a button, would be even better if it just happened in the background
🚀 NEW: Podcasting is one of the most popular ways publishers share their work — and now you can run members-only podcasts on Ghost, with our brand new @transistor.fm integration Quality writing 🤝 Quality audio ghost.org/changelog/tr...
Only realised after posting: Time from $9M→$10M ARR was 14 weeks Which is especially wild when you consider the first $1M ARR took 5 years 😅
Today @ghost.org crossed $10M ARR, as a bootstrapped non-profit foundation building open source software. Indie publisher revenue earned with Ghost now ~$130M, and accelerating.
Today @ghost.org crossed $10M ARR, as a bootstrapped non-profit foundation building open source software. Indie publisher revenue earned with Ghost now ~$130M, and accelerating.
We've all heard "SaaS is dead" enough times. Recently I read multiple people developing something more specific: Nicolas Bustamante from the software side, Ben Thompson from the hardware side, @johnonolan.bsky.social about open source. Different starting points. Same direction.
This week Cloudflare shamelessly cloned and released the product of one of their primary competitors. I'm beginning to wonder - if AI can rewrite software from scratch, without using any of the original code, do software licenses actually mean anything anymore? john.onolan.org/open-source-...
I've seen some of what Aaron's working on here, and it's so far ahead of anything I've managed to figure out for myself. (I told him to price this 10x higher but he refused listen to me, so it's your lucky day.)
They say AI is the end for developers. They say the job market is gone. They say learning to code is pointless. I don’t buy it. I think we're just getting started.
one thing I didn't expect while building alcove.news is the unbridled joy of removing newsletters from my email inbox feels *so* much better having communication/reading in two different places (you can follow @alcove.blog.alcove.news.ap.brid.gy if you want updates on progress)
Alcove - A peaceful RSS Reader
A quiet place to see what's new
alcove.news
Back on GPT 5.2 Max fulltime now, Claude 4.5 has been nerfed so hard it's actually unusable this week
I've decided to pursue a very bad idea and see where it goes. I'm making an RSS reader. john.onolan.org/making-an-rs...
I'm making an RSS reader
Why am I making an RSS reader? I don't know. There are a thousand RSS readers out there already, and they all read RSS feeds, but none of them work the way I'd like them to. So I'm making my own. It'...
john.onolan.org
If you're curious about the build of Ghost Explore — and some of the details of my ... *checks notes* ... 1,256 commits on this project over the past few months The @laravelphp.bsky.social team just published a nice lil piece about Ghost + Laravel Cloud: laravel.com/blog/14m-req...
Google search is broken. Social algorithms suppress links. Finding good independent writing online has never been harder. We built something to fix that: 🌍 ghost.org/changelog/gh...
Stoked to share some of the details behind a project I've been working on for a long time, in partnership with @ahrefs.bsky.social — and built on top of @laravelphp.bsky.social Spent YEARS wanting this to exist, so I finally just built it.
Google search is broken. Social algorithms suppress links. Finding good independent writing online has never been harder. We built something to fix that: 🌍 ghost.org/changelog/gh...
Okay, this is fun, and brings me back to some neumorphism nostalgia: a fun color palette generator, that lets you play with different color spaces, and build different palettes type colorpalette.pro/?color=lab%2...
Today @ghost.org passed $9M ARR — the first time we've ever crossed a $1M milestone 2x in a calendar year 🎉 Publisher revenue is growing even faster! Now more than $120M GMV earned by writers and journalists using the product to fund their work
This week @johnonolan.bsky.social joined us for a Sweet Hang and he's got big news for @ianlandsman.com & @aaronfrancis.com: This week he Laravel New'd....twice! 🚀
development DB dropped again me: what did you do ai: nothing guv, swear down, I ain't touched it, if anything happened to the DB it wasn't cause of me
After 3 months - counting by number of servers (unique domains) - @ghost.org is now the most-deployed piece of ActivityPub software out there 31% of all sites that interop with open social web standards are running on Ghost
Doing ~12M req/mo now on my laravel app - which powers explore.ghost.org (the public front end is very simple, the back end is much more extensive) Still blows my mind how much you can build/manage singlehandedly with a bit of help from Claude and Laravel Cloud
I'm always impressed by just how many people who've never maintained any open source software are so wonderfully generous with their advice about how to do it correctly
Had an amazing time this week speaking at PenpotFest in Madrid - there’s a lot of inspiring work happening in open source design tools these days that gives me a lot of optimism for the future Thanks for having me @penpot.app 🫶