@TQ might be an idea to add groups support (GNUsocial does have group support though I've not tried it).
@Sasha Sounds nice, but also a bit intimidating for a learning project...
@TQ True, but it's an interesting exercise when learning programming to try and model an object. Ask yourself questions about what you would need.
You'd probably be far from releasing a Mastodon instance anytime soon, but it's the kind of project that could be split (how to interface an API ? how to save data ? how to route messages to whom should receive them ?). For each there's enough material to start asking yourself real algorithmic questions and discover basic data structures and classic algorithms.
@TQ #practicecoding How about implementing a Mastodon instance in a different language ? I heard that what an instance was wasn't so clear yet and pretty much defined by the current implementation.
Having different implementations in different languages would make the whole network stronger.