I've been building a Facebook Events style event organizing system for the Fediverse. It's based on the simple, open source, privacy-respecting event organizing tool

The attached video is a work-in-progress preview and shows compatibility with Mastodon. My hope is to get it working with lots of software, including stuff like Friendica that supports events and calendars.

Check out more at my Patreon:

Also on the todo list is to add an Events tab to Hometown that keeps track of events you've RSVPed to. (For federation nerds: this will be driven by ActivityPub `Event` activities sent to a user's inbox after they've successfully RSVPed.)

omg this is cool, I only had to change one line of code and now my gath fork provides verrrry minimal Friendica compatibility! (the end time is the same as the start time, probably a bug on my end, but still, this is neat to see this working "for free" after implementing Event activities)

@vanecx I've seen it but it doesn't seem to actually exist yet. It wants to raise funds and be a business. My software exists right now, at least in a sandbox you can play around in:

@darius Well, it actually exists, it's going according to the roadmap Framasoft made :

I'm surprised you say it wants to be a business, aren't you confusing Framasoft with something else?

@vanecx Okay, I was going off of what I saw before they finished fundraising! The fact that they were trying to raise 50k EUR for the project seemed either (1) excessive or (2) like they are building something far more heavy than what I want.

Anyway, I'm glad that there is a test server up, I'll have to check it out.

@vanecx Ah, I set up a test event and I already disagree with their federation model! They are creating permanent human-tied users on each Mobilizon instance that own or attend events, whereas my vision creates actors for each new event and people can RSVP from their pre-existing fediverse accounts.

That is to say: we are doing very different things federation-wise!

@darius @vanecx
IMO your model is the future of the fediverse. Users keep their own accounts on whichever service they already use, and interact with cross-platform federated apps through activities and automated actors

also I'm working on a project to help enable that future. Taking the #ActvityPub implentation from @GuppeGroups (based on your NodeJS reference imp.) and converting it to a modular library of express middleware and utils.
Still very early stage, but making progress

Oh what a coincidence, in today's social hub summary is another post about an events app by @gancio

@darius excited to hear you are talking to devs to make this feature go mainline gath!

@darius so is this test already using the new event tag that just got merged into masto?

@˗ˏˋ wakest ˎˊ˗ @Darius Kazemi Got a link so I can check compat with Zap ? We should be OK with HomeTown's events and RSVPs  but I hadn't heard anything about an event tag.

@darius @mobilizon @mike maybe have a look at Mobilizon too? Activity pub events tool currently in development by french non-profit Framasoft

@darius sorry, spoke too soon... Arriving at this thread from a different post, I see you already commented on the differences. Threading on Mastodon really confuses me 😞

@Darius Kazemi I'm currently reworking Zap to send events as Invite/Event instead of Create/Event per the discussion yesterday. We'll still support implicit invites if we get a Create/Event from elsewhere but will stop generating them. I'm probably not going to support the target property on Invite unless this causes a serious problem with other projects. If you receive the invite, you're invited.

@mike Okay, cool. Do you send out an Accept/Event when I click the affirmative RSVP button on an Event I've received? I am not seeing anything POSTed to the inbox of the actor on my end when I RSVP from Friendica.

In here I see a sendContactAccept but not a sendEventAccept, for example

@Darius Kazemi I couldn't really tell you what Friendica is doing. I left that project in 2012 and some of the community members picked it up and kept it going. We have some very strong differences of opinion about privacy and consequently aren't on the best speaking terms.

Zap and Hubzilla send Accept/Event at this moment in time. Once my testing is complete Zap will send Accept/{Invite/Event} and eventually I'll create a pull request for Hubzilla to do the same.

@mike okay great! Is there a Zap instance that I can create an account on? I signed up for hubzilla but could not figure out how to send a follow request to an AP account (I'll read docs later this was just my initial attempt)

@Darius Kazemi I think has the latest released code and open registrations. ActivityPub is built-in.

Hubzilla requires you to add the ActivityPub app from the hamburger menu if you want to use that protocol and not all sites make that plugin available. It can be difficult to find a public site that does.  and do iiirc.

For both Zap and Hubzilla, there's a 'Connections' app in the hamburger menu. On that page is a box to add a new connection. Either a webfinger address or URL are accepted. There are other methods, but this is the most straight forward.

@mike I haven't successfully found a place to test from for zap or hubzilla, but I did get affirmative RSVP working with Friendica, which is using the same federation model you mention (Accept/Event). Can you try following @V_Yyi5YB7 -- you'll get an Event in your feed that you can RSVP "yes" to, and it should after a few minutes be reflected on the page. (If you go to you'll see that's a Friendica account that has RSVPed there)

@Darius Kazemi @Yet another event okay 3 Following, but probably need some fresh content like a comment or another rsvp to arrive in order to retroactively pull the parent activity; since I wasn't following when it first was published. The "fetch their existing timeline on connect" feature hasn't yet been upgraded to work with AP feeds.

@mike @V_Yyi5YB7 sure but *on follow* it should send an Event to your inbox

@darius *strips tshirt and starts running in circles wildly*

@bortzmeyer Different federation model. My primary Actor is for an individual event, whereas Mobilizon has users who "own" events. I want people to be able to follow events rather than humans who own many events.

@darius oh my gosh, i saw this my first week on fedi but didn't save it and I've been looking for it ever since!

@darius It's very interesting and useful.
I want to use that service for offline meeting on Mastodon.
Is it enable to attach Google map?


Personally I'd rather have an Open Street Map (maybe through Leaflet or Mapbox?)


@darius @Blort Oh, I understood.
It's enough to enable to link Google map.
Thank you for advice.

@darius would this allow for anonymous RSVPs? (at least, anonymous to tje public if not the server operator)

@thufie you can just go to the web page and RSVP with any name you like and no email address, yes (if the event organizer allows for it)

@darius Great! Go go go! Federated events are critical missing infrastructure right now, I can't wait for solutions.

Will be good to have some friendly, fediversly coopetition with Mobilizon and any others :)



فکر کنم روی این میتونی کار کنی
همون چیزی بود که میخواستی

Will it be compatible with @mobilizon ? Would be nice if both tools could share the same schemas etc?

@darius This is very cool! Nice overloading of polls for RSVP buttons!

I've been working on events too, and just launched last week! It federates via Webmention, including adding photos, comments and blog posts via Webmention replies. I've been thinking about whether and how to add ActivityPub to it and this is giving me some ideas now!

@aaronpk Oh cool! Yeah, tbh my main issue with most events solutions out there is that their federation models seem really weird to me. It was important for me to make an event (lower case) into an Actor that people can follow, and then it can send out Events. Other implementations take the AS2 vocab spec too literally and make human users their Actors, and you follow a human and they emit Events that they "own" over time

@darius I agree with you on that! I think this is also a similar issue I've seen on how we've been doing "indie events", where an individual person posts an event on their own website. (We have at least 6 years of examples of this at this point.) But I've always thought of events as being their own thing even if they're hosted by a specific person. So this is my attempt at flipping that around and making events a first-class entity.

@aaronpk we should probably do our once-every-two-years thing where we actually meet up and talk about this stuff since we live in the same city huh

@darius 😂 has it been that long! Yes we definitely should! I'm around this week!

@foozmeat @nolan Yeah! is remarkably easy to administer, too. One thing I want to add to it is the ability to set it up so it only allows users who auth from YOUR mastodon/oauth domain to create events. That way you're only committed to moderating events created by the users you already have

@thinkMoult I haven't evaluated that so I can't say. I think my federation model is pretty different though,
for example RSVP via direct message is not something I've seen before

@darius Always good to have some variation in the community :) I've seen RSVP'ing via messages / emails before, though.


@darius Very cool! Have you looked into @mobilizon ? It seems like they're also building something along those lines; maybe both projects could eventually be compatible?
Sign in to participate in the conversation
Friend Camp

Hometown is adapted from Mastodon, a decentralized social network with no ads, no corporate surveillance, and ethical design.