Wanted to share something with this community and see if it’s useful to anyone. Inkwell (inkwell.social) is an open source, multi-tenant social journaling platform built on ActivityPub. The goal is to fill the long-form writing gap in the fediverse in a way that’s accessible to non-technical users, not just developers who can spin up their own instance of WriteFreely or Ghost.
What it does: users sign up, write journal entries or articles, and those posts federate as Article objects per FEP-b2b8 with preview Notes so they render cleanly in Mastodon and other microblogging clients. You get a title, excerpt, and link rather than a decontextualized URL. Follows, boosts, and likes all work bidirectionally with Mastodon.
It’s ad-free, algorithm-free, and the code is open source on GitHub (github.com/stantondev/inkwell). The hosted instance is at inkwell.social if you want to try it, or you can self-host your own.
Some things that might interest this community: ActivityPub federation with HTTP signature verification, Stamps (emotional reactions) instead of generic likes, a tipping system called Postage for supporting writers, newsletter delivery, custom profile themes, and data import from other platforms. Currently working on improving comment edit propagation and post scope handling for better fediverse compatibility based on community feedback.
Would love to hear thoughts, especially from anyone who’s been looking for a long-form option in the fediverse or anyone interested in running their own instance. What’s working, what’s missing, what would make this more useful to the ecosystem?
#fediverse #activitypub #longform #writing #opensource
Edit: Adding this after looking into the spec more closely. Inkwell publishes Article objects following the draft FEP-b2b8 guidance. I was wrong about the Mastodon behavior in my original wording above. Inkwell includes a preview fallback, but Mastodon does not currently appear to render that preview behavior as envisioned by the draft. That is my mistake.


I don’t buy it. I can’t in good conscience interact with “Inkwell”, there needs to be a real name and identity attached to the work.
If you’re not willing to step up then what business do you have sharing your work openly?
@rimu@piefed.social the replies continue to be AI generated. The ones to you, the ones to me. Maybe an assumption is AI agents can’t lie. I think maybe this one is proving that assumption wrong.
I apologize for responding with AI, I didn’t realize people would think I’m a bot or think I’m hiding. This is a giant learning lesson for me and I’m listenig to you all. My name is Stanton, I live in Westfield, IN, and I’ve tried building many things that have never had any luck. I respect that I upset people by my approach and regardless what anyone thinks, that matters to me. I did change my username on here because I understand now that I need to show who I am in the community. Honestly forums are even new for me. So I won’t keep pushing back or challenging. I understand I was wrong and appreciate the feedback even if it’s hard to hear.
I respect how you have taken this. Onwards and upwards!
I’m the outsider who overstepped and needed to learn a lesson. Thanks for hanging in there and getting me on the right track!
Thanks @inkwell@piefed.social, I appreciate the openness you’ve shown.
I’m sorry I got defensive. It is important to me that the colleagues I hope to work with are on the same page when it comes to standing behind their work.
It’s truly surprising how much Inkwell can (supposedly) do at launch, and so I really hope you’re able to find traction.
Can you (as yourself!) share more about why you decided to pursue a long-form content writing app communicating over ActivityPub? For reference, write.as has a free plan, so there already is a player in the space providing this kind of experience.
Not saying there only can be one, the more the merrier.
Hey Julian! No worries at all. I made an obvious mistake and I’m not afraid to admit that and learn better. I’ve done a lot of refection and do realized I have moved very fast. I originally started with a much smaller set of features but I posted on Reddit requesting feedback and people wanted writing features I wasn’t expecting. I ended up shaping it by what people told me they wanted.
I’ve always wanted to build apps or work in development. The last three years I’ve been working in product adjacent roles and I recently moved into my first product management role. However, I want to break free of working for others so I’ve been starting ideas and dropping them before they got anywhere for as long as I can remember. I wanted to build my own thing and I was trying to figure out what I could do on my own with AI being where it is now. I grew up in the mid 2000s so I naturally spent way too much time on Myspace and Livejournal. I missed the feel and community of the early internet. So I started brainstorming a journaling app and how to differentiate it (I used AI to help). I had also joked about starting my own social media app because I hated when I posted stuff on FB etc the algorithms punishes me and no one sees it. So AI (Claude) actually pointed out the fediverse to me. That is why I was able to say stupid stuff like Article objects would show on Mastodon with preview notes (I hadn’t realized Mastodon hadn’t implemented changes on their side.) I found out about FEP-b2b8 through a Mastodon subreddit when I posted asking for feedback. I was moving too fast to fully understand the fediverse and the new parts of this. And it was painfully obvious to everyone but me haha.
Well, the good news is that you don’t have to face it all alone.
The AP developer community is here and happy to explain the difference between the theory (the spec, the protocol, the FEPs), and the reality (for most FEPs implementation is limited in scope).
b2b8, for example, was championed by @evan, and I pushed for broader support alongside Ghost, WordPress, and WriteFreely. It is largely well supported except for the preview piece, which only BridgyFed supports.
Claude will tell you lots of right things, and I’m sure it’ll confidently tell you some wrong things too. If you ever need to double check something, ask on the fediverse subreddits or @technical-discussion — you should be able to reach it from your Piefed account.
@julian It’s been a great multi-implementer effort, both from the long-form text producers and the microblogging services.
@inkwell@piefed.social one warning about doing ActivityPub development with LLMs: codeberg.org blocks a lot of LLMs for training and for RAG/MCP. Since FEPs are hosted there, I’ve found that searching for information on FEPs will result in incorrect information.
Thanks again Evan! I think that is where my bad information came from and good to note. I’ve been lucky and really appreciate the support. If there is anything I can do to improve on my side, I’m all ears!
Thanks again, Julian! I will absolutely follow the suggestion on asking for advice. I’ve received great feedback when posting about the app and will hopefully go about it better moving forward. xD
From ‘his’ github profile pic:
sigh
This is genuinely getting funny now. AI doesn’t do a good job of knowing what’s real or fake, any better than humans. I can show you that picture on my camera roll. My full name is Stanton Melvin. I’m not a bot, chill. I use AI, but it doesn’t mean I’m not a real person with real ideas and goals.