I'm working on flockingbird.social, a "linkedin for the fediverse"[1].
Aside from a job-search bot, I haven't written many software, and it looks like what you are working on might actually be a very solid foundation. It's a pity my go isn't that established (rust and ruby here) but certainly will consider this going forward. Huddling around common base libraries is also certainly something the fediverse needs, rather than re-building AP again in "language X".
[1] The hardest part has proven to be the fact that "linkedin" is an entirely different product depending on who you ask. It solves entirely different solutions, depending on who you ask. And it has entirely different features, depending on who you ask. Turns out LinkedIn is quite hard to "copy", "port" or even define for the fediverse. Aside from that this makes it a giant task to do. Is it a place to find jobs? To recruit? To keep in touch with colleagues? To connect with other entrepeneurs? To spam lame motivational quotes? To pitch your book or a Rolodex-on-steroids? Its all of that and more.
If you're working in rust I would recommend to have a look at the go-ap/processing[1] package, which provides a close representation of what the ActivityPub spec details about how to handle each Activity type. It's not complete at the moment, but it should be readable (I think) even for non Go developers and, in my experience it's not the vocabulary that trips people up.
For your use case you probably need to define your own custom ActivityPub types and logic, but for the default ones, it's a good starting point (I hope). :)
The go-ap org on github has a mailing list you can reach if you have questions or feedback.
Aside from a job-search bot, I haven't written many software, and it looks like what you are working on might actually be a very solid foundation. It's a pity my go isn't that established (rust and ruby here) but certainly will consider this going forward. Huddling around common base libraries is also certainly something the fediverse needs, rather than re-building AP again in "language X".
[1] The hardest part has proven to be the fact that "linkedin" is an entirely different product depending on who you ask. It solves entirely different solutions, depending on who you ask. And it has entirely different features, depending on who you ask. Turns out LinkedIn is quite hard to "copy", "port" or even define for the fediverse. Aside from that this makes it a giant task to do. Is it a place to find jobs? To recruit? To keep in touch with colleagues? To connect with other entrepeneurs? To spam lame motivational quotes? To pitch your book or a Rolodex-on-steroids? Its all of that and more.