Hard problems building asknostr.site
A post about the progress and three big challenges when it comes to building a Quora/StackOverflow alternative
Over the last months i’ve been improving asknostr.site following a rough roadmap I shared in May.
In that post I talked about my own wish list of which some things have been implemented since then.
Inline Zaps: Ability to zap from theinterface. Click the zap button, specify or pick the number of sats zap away.asknostr.siteContributor Rank: A leaderboard to add some gamification. More recognition to those nostriches that spend their time helping other people out
Search by Keyword~~: Search all content by keywords. ~~Experiment with the index to show related questions or answers
Better User Profiles: Improve the user profile so it shows all the profile questions and answers. Quick buttons to follow or zap that person. Better insights into the topics (hashtags) the profile contributes toBookmarks: Ability to bookmark questions and answers. Increase bookmark weight as a signal to rank answers.
Smarter Scoring:~~ Tune how answers are scored (winning answer formula). Perhaps give more weight to the question author or use WoT. Not sure yet.~~
Most of the work has been polish: fixing bugs, smoothing edge cases, and tightening UX.. There are a lot of small details, annoyances and bugs to deal with to get everything just right.
Looking forward I’d like to fix these things in Q4/2025:
-
Bookmarks
-
Solid Bunker
-
Multi-wallet
-
Nutzap/Cashu support
-
Zap Splits (author + answer)
-
Find a way to integrate LLM answers
-
Rank questions (trending questions)
I wouldn’t say these things are easy or straightforward but all of these things are on my wishlist because i have a pretty good idea on how to make them happen.
And then there are a few more difficult problems:
Difficult Problems
Most of the harder challenges I’ve been dealing with can be categorized in three groups:
There is no global (missing ids)
I’m still convinced that the best way to offer great UX is to work with a server/client model. The more i work on it the more I’m confident that’s the way forward for this specific use-case.
Dikaios would even say that in the narrow definition asknostr.site isn’t even a nostr client.
To address those concerns I prefer a hybrid model where the data is stored in a central place (Postgres DB / Relay) while clients can optionally do things ‘the nostr way’ with local signature verification, outbox support, retrieve notes).
But one of the challenges I’ve been dealing with is that in this type of knowledge graph (~2 million events) there will be some gaps in the dataset. There is no global! And if that means that one question/thread isn’t available or a top-level answer isn’t ingested by asknostr that’s still an acceptable trade-off.
What’s worse is how threads are displayed if one note in the tree is missing. Take this thread as an example:

Just for illustration purposes I’ve blurred out a note in a thread. This is a note missing from the asknostr.site knowledge graph which could happen for various reasons (relay down, event not propagated, misconfiguration of a client, …).
That missing event creates a lot of annoying side-effects like:
-
How do i display the thread where there are available events as a reply to that missing event?
-
How to count comments/answers?
At the time of writing I have around 250k answers/replies and there are exactly 1356 events missing from the dataset. So it’s only a problem for 0.5% of all answer threads but still an annoying issue to deal with.
My approach has been to have some background workers that connect to as many relays as possible to query for those missing, obviously following relay hints where possible.
At the same time I am experimenting with using site visitors to help find missing events. Through NIP-65 (already supported in asknostr) i query the user relays for those missing event ids and replay them to the ‘global’ relay. This comes with the benefit that that client (a true client) would be able to query private/paid relays in ways asknostr.site event ingestion could not.
Experience for people new to Nostr
The first-run experience for people that do not have a Nostr profile is terrible. That’s because new users (or burner profiles) do not have a reputation i can trust. Behind the scenes I’m using Vertex global pagerank but new profiles obviously would not have any score and therefore their activity isn’t counted or displayed on asknostr.site…
I am trying to work around this by ensuring that logged in users see their own content so they don’t notice the issue that much themselves. But that only solves a part of the problem the notes are still not displayed for anyone else.
You could say that new users need to build up their reputation (Web of Trust score) by answering a few questions before they start asking new questions. Like somehow they haven’t ‘deserved’ the right to ask new questions. But how can they build up reputation if even the author doesn’t see their reply?
I feel like this problem is a much larger issue every Nostr builder has to deal with somehow. I’d welcome any ideas or reads on things I can try to address this.
Display Threads with WoT
Similar to missing events there is a challenge in displaying content based on Web of Trust scores.
Right now the implementation in asknostr.site is that all content (zaps, likes, votes, questions) from npubs with a Vertex pagerank lower than a certain value is not displayed at all.
This is an awesome way to filter out almost all nasty content but comes with a tricky UX challenge which I would even describe as a bug.
Three scenarios:

-
Happy Question: All participants in the thread are above minimal WoT score
-
Question with Answer not displayed: One answer (top level reply) doesn’t meet the minimal WoT rank. Whole answer isn’t displayed. Acceptable
-
Question with Reply not displayed: One node in the thread doesn’t meet the minimal WoT requirements. That note could potentially be something no one wants to see.
I am struggling to find an elegant way to solve this. Removing the reply from the tree would break up the whole thread because leaves in the tree depend on each other. It gets even weirder if the author (op) of the question replies to that comment.
I’ve been playing with relaxing the WoT rules within answer threads but these experiments all came with trade-offs where some nasty content suddenly showed up within answer threads.
If you’re building on Nostr or use asknostr.site regularly, I’d love your feedback—especially with ideas on how to address the main challenges.
Write a comment