Ah yeah that’s the same with damus, which is why I’m trying to put most of that upfront work into nostrdb. i feel a bit uncomfortable putting too much business logic into it, but the multithreaded ingester at least does content parsing, fulltext indexing, stat counting (zap amounts soon, likes, etc). Once it’s all ready the subscription is then updated for the UI.
Content is parsed into “blocks” which is also queryable and available for all notes. This was the slowest code for damus.
I want to put in all the complicated stuff that would be common in all the clients I build.