Joined March 2008
476 Photos and videos
Pinned Tweet
Today @Ghost crossed $10M ARR, as a bootstrapped non-profit foundation building open source software. Indie publisher revenue earned with Ghost now ~$130M, and accelerating. The world of technology is shifting rapidly, and so is the world of media, creators and journalism. It's hard to keep up with, and even harder to predict. My strong belief, though, is that open software that you own and control is going to be even more important and relevant in the future than it is now. So we're going to keep building it.
72
33
495
58,515
John O'Nolan retweeted
What did horse ebooks see
Everything happens so much
3
3
52
10,314
experimenting with a media library for @ghost (WIP)
14
2
57
6,673
Going to start selling an ebook called “Why this doesn’t work” and send it to every Hormozi follower that ends their mindless carbon copy cold emails with “worth a quick chat?”
2
21
1,673
Annual @stripe sessions conf this year was very good. Main takeaways for me - we’re about to get a lot more small businesses, and a lot more customers that aren’t humans. The intersection of those two is going to be fascinating and full of opportunities.
4
3
45
9,028
Recording a cheeky @stripe pint with @jrfarr
12
62
4,878
On this day, 13y ago, @ghost 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 kickstarter.com/projects/joh…
15
3
77
5,862
Lots of publishing platforms claim to be independent and open. Ghost actually is. 🪷
Apr 29
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/digital-…
1
4
38
4,574
In SF for @stripe Sessions again this year - say hi if you’re around!
2
15
1,615
Every time Substack make a move that serves the business, they disingenously play it off as something that's in the best interest of users. > [Email is getting less reliable, so we had to build an app.] "I know I've said this a lot, but I cannot emphasize enough that email will continue to become less deterministically reliable as a means for distributing your work; this is a huge part of why we got into the app and feed business!" Sure. And there's also the economics. One of the largest overheads for any newsletter platform is email delivery — it's expensive, and it scales linearly with subscribers. Delivering the same content by API to an app you own is essentially free, and keeps users inside your ecosystem. The app isn't some reluctant response to problematic technology, it's just a better business. That would be perfectly fine to say out loud. Instead it's "email is unreliable, actually" - a pretty stark reversal of how they used to talk about email. Substack CEO in 2018: "[Email is] the one channel that you have as an independent writer to reach a reader base that’s not directly mediated by a third party. It doesn’t have a Facebook algorithm deciding what people are going to see." In 2026: email is bad, and the answer is the Substack app, mediated by the Substack algorithm deciding what people are going to see. Yes, email is more complicated than it used to be, but there are thousands of newsletter platforms out there, and only one of them is insisting that the only solution to reliable distribution is using their branded app. > [Nobody feels locked into Substack.] "I saw several wags speculate that this was because we were trying to achieve 'lock in' at the behest of our investors. Brother, if you've ever heard of someone who feels locked-in to Substack because of their follow graph, please tell me." The lock-in is not the follow graph. That's a complete strawman. People feel locked in because mobile paid subscriptions are literally locked in. Subscriptions started on the web sit in the writer's own Stripe account — portable, owned, migratable. Subscriptions started inside the Substack app are permanently stuck on Substack. Which, ofc, is conveniently "[just how mobile works, Apple make us do it]" - but publishers don't even have an option to disable paid subscriptions through the Substack app, they are forced into using it. We migrate people off Substack to @Ghost every week. One of the top complaints is "I need to get out before any more of my revenue gets locked into the Substack app." Substack is a venture-backed platform optimising for retention, unit economics, and platform dependency. That is a perfectly normal thing for a venture-backed platform to do. Just say what you're actually doing and stop trying to dress it up as something else.
I know I’ve said this a lot, but I cannot emphasize enough that email will continue to become less deterministically reliable as a means for distributing your work; this is a huge part of why we got into the app and feed business! You can blame a few things (1/n):
15
14
162
40,526
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
5
1
15
1,460
Thinking that going closed source is going to save you from the onset of AI is just delusional tbh. Yes, the world is changing. The answer is to change with it and figure out new ways to succeed, rather than make decisions from a place of fear of losing what you have.
Open source is dead. That’s not a statement we ever thought we’d make. @calcom was built on open source. It shaped our product, our community, and our growth. But the world has changed faster than our principles could keep up. AI has fundamentally altered the security landscape. What once required time, expertise, and intent can now be automated at scale. Code is no longer just read. It is scanned, mapped, and exploited. Near zero cost. In that world, transparency becomes exposure. Especially at scale. After a lot of deliberation, we’ve made the decision to close the core @calcom codebase. This is not a rejection of what open source gave us. It’s a response to what risks AI is making possible. We’re still supporting builders, releasing the core code under a new MIT-licensed open source project called cal. diy for hobbyists and tinkerers, but our priority now is simple: Protecting our customers and community at all costs. This may not be the most popular call. But we believe many companies will come to the same conclusion. My full explanation below ↓
9
5
57
5,817
🎯🎯🎯 "If you obscure your code, you are making a bet that your internal team can find and fix flaws faster than an automated swarm of external AI agents can discover them from the outside. Historically, security through obscurity has always failed. Against AI, it will fail exponentially faster." strix.ai/blog/cal-com-is-clo…

7
816
Recent fun contributing to a fellow OSS project ❤️
Apr 1
We shipped an official @home_assistant integration, so you can connect your Ghost data to devices in the real world. 🤖 Now you can track your subscribers, MRR, or open rate wherever you like. On your Apple Watch, Android phone, E-ink display, or IoT-enabled-carrier-pigeon.
1
1
15
2,324
If I wanted to quit my job & replace my salary by Summer, here's exactly what I'd do: 1. Set up a simple website with AI before the week is over. Not next month. Not after you "research more." This week.
1
1
65
5,987
Interesting side effect of running a large open source project these days is that when AI labs want to test their new security scanning features, they use you to do it! Very grateful this was responsibly disclosed so we could immediately resolve. (Aside: the assertion that the project has “[never had a critical vulnerability in its 20 year history]” is not correct. @ghost has been around for 13yrs and it has had vulnerabilities found by security researchers and fixed by us, long before AI, just like any other project)
someone at ANTHROPIC just showed CLAUDE finding ZERO DAY vulnerabilities in a live conference demo claude has found zero day in Ghost, 50,000 stars on github, never had a critical security vulnerability in its entire, history... it found the blind SQL injection in 90 minutes, stole the admin api key, then did the exact, same thing to the linux kernel
5
3
146
24,106
Recently, I've found my preferred way to interact with lots of products is getting Claude to use a CLI tool, and then just talking to it out loud about what I want to happen. So I made a CLI tool for @Ghost, to see what it would be like in our own product - it's called `ghst` and it essentially makes everything in the UI available by CLI (and MCP) Mostly this was an exercise in doing it just to see if I could - but it turned out to be a lot more interesting than I expected We've spent 10 years focusing on having a clean, well designed interface for Ghost. It's something we care a lot about, and spend a lot of time on. But within about ~1hr of using Ghost via Claude/CLI, it was hard to imagine going back to caveman-clicking around a browser to get something done. Particularly for complex or compound tasks that might require visiting several different areas of the app. Which is both obvious, and at the same time kind of jarring. I know Ghost's UI extremely well, and know exactly where to go and what to click to do the thing I want -- and even for me, using Claude is significantly faster/easier than clicking myself. So how big would the delta be for a regular user who *doesn't* already know the UI inside out? My initial thought was "huh, I wonder if UI even matters anymore?" - maybe everything just becomes a CLI / voice interface for a database, as various people have been suggesting about CRM tools. But I don't think that's quite right. I notice when I interact with the product via Claude - I usually still keep the UI open, but my relationship to it is different. I use UI to see what happened, verify things look "right", and get an overview of what's going on. Which is kind of familiar, because "agent does the actions for me / I review the results" has obvious parallels to AI coding workflows. Before I'd be in VS Code all day doing the thing myself, but now I use Codex Desktop which is a *UI* designed entirely around optimising for: agent does the actions for me... I review the results. Anyway, I don't know what my conclusion is here other than to say that AI CLI is a really cool pattern, and I think it's likely to meaningfully influence what "UI" means over the next few years. There are still tons of rough edges and reasons for why this is not yet a fully-formed paradigm (regular humans do not, and should not, ever need to know what "CLI" or "MCP" even means), but I like where it's going. If you want to try ghst CLI - it's linked in first reply below 👇
12
10
73
8,055
niche Q but does anyone else use pnpm betterauth and find that it OOMs Renovate runs on lockfile refresh?
1
1,975
The quality of revelations coming out of YC partners in 2026 is truly incredible
I realized something else AI has changed about coding: you don't get stuck anymore. Programming used to be punctuated by episodes of extreme frustration, when a tricky bug ground things to a halt. That doesn't happen anymore.
12
7
521
96,058
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 crossed $10M ARR, as a bootstrapped non-profit foundation building open source software. Indie publisher revenue earned with Ghost now ~$130M, and accelerating. The world of technology is shifting rapidly, and so is the world of media, creators and journalism. It's hard to keep up with, and even harder to predict. My strong belief, though, is that open software that you own and control is going to be even more important and relevant in the future than it is now. So we're going to keep building it.
18
4
162
16,582