I am also thinking about custom database implementations. If I decide to break it into separate pieces again, the choice will be among Nostr relay implementations and not actual databases like Postgres. A relay could use Postgres, but Ditto would want to speak Nostr to it. If that makes sense.