
1. New instance via commandline interface (CLI) (5d)

[x] $ ./seppo/seppo.cgi create @demo@demo.mro.name
[ ] $ ./seppo.cgi info
[ ] check: match cgi checksum (?)
[ ] check: no (write) permission
[ ] check: disk full
[x] check: https ok (webserver)
[x] check: webfinger redir, profile id, pub key

2. New post via CLI (7d)

[ ] $ echo "Hello Personal #Social #Web, this is #Seppo!, a new #ActivityPub implementation supported by a #NLnet #grant." | ./seppo.cgi note
[x] ingest & store above note
[/] find tags, mentions
[ ] update local main feed + tag feeds (atom)
[ ] update outbox
[ ] queue to send to followers
[ ] make web endpoint friendly
[ ] make web endpoint monitorable
[x] process queue
[x] Mastodon (digitalcourage.social/@mro)
[ ] Pleroma
[ ] Peertube
[ ] Pixelfed
[ ] GnuSocial
[ ] Friendica
[ ] Lemmy
[ ] Mobilizon if available
[ ] Hubzilla if available
[ ] Bonfire if available

3. New instance via web interface (5d)

[x] https://example.com/.../seppo/seppo.cgi
[x] .htaccess
[ ] check: match cgi checksum (?)
[ ] check: no (write) permission
[ ] check: disk full
[ ] check: https ok (webserver)
[ ] check: webfinger redir, profile id, pub key

4. New post via web interface (8d)
5. Security audit & improvements (5d)
6. ActivityPub Activities Like/Unlike, Reply, Announce (8d)

7. ActivityPub Activities (Un)Follow, Block (12d)

[x] Being followed
[x] Being unfollowed
[ ] Follow
[ ] Unfollow
[ ] Block
[ ] Unblock

8. Housekeeping via web interface (12d)
9. Accessibility audit (5d)
10. Images (8d)
11. Improve UX (12d)
[ ] research https://hackers.town/@benbrown/109690949387906153
12. Improve reading UX via web interface (10d)
13. Documentation and presentation (6d)

Backlog

[ ] yearly payment option, signed proof. (Base URI + expiry date)
