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.
Beware this app was written using AI.
For example, Mastodon does not implement FEP b2b8. So that's bullshit.
The whole thing was 'written' in 3 weeks.
Fair points to address, and I appreciate the directness.
On AI: yes, I use Claude Code as a development tool and I'm transparent about it. There's a CLAUDE.md in the repo that says so explicitly. I'm doing this solo with a day job and a passion for building, and AI tooling lets me ship faster than I could alone. I get the skepticism given the slop AI is generating. I think the distinction that matters is whether someone is engaged, iterating on real feedback, and building something they actually use and maintain. I'm trying to be that.
On FEP-b2b8: my wording was unclear, and I can see how it read that way. Inkwell publishes Article objects per FEP-b2b8 and also sends a preview Note so the content renders cleanly in Mastodon and other microblogging clients that don't handle Article objects. Saiwal read it right. I should have separated those two ideas more clearly in the post. That's on me.
On the timeline: three weeks of full-time-equivalent effort from a solo dev using modern tooling. The code's all on GitHub if anyone wants to look at it, break it, or tell me what's wrong with it. Happy to take feedback on the implementation. I'm not trying to sell anything here. I had an idea, I'm over big tech and social media, and I'm learning and trying to be part of the fediverse community. The platform is free to use and open source. If it's not useful to this community, that's fine. But I'd rather get roasted on specifics than dismissed as another bot project.
> @inkwell@piefed.social said in Inkwell - a multi-tenant long-form writing platform for the fediverse (open source, FEP-b2b8): > > Saiwal read it right. I should have separated those two ideas more clearly in the post. That's on me.
Let me be clear, preview notes are not supported by Mastodon.
I've learned a lot from this post, so I appreciate everyone's patience. I moved too quickly and misspoke. You are right and preview notes are not used by Mastodon. I implemented this based on what I read but didn't verify it worked on the receiving end, my bad. I'm going to have to do more research into how Mastodon handles the article object and address any gaps. I'm sorry for the misleading post and lesson learned on my end.