I’ve written a custom grafana auth reverse proxy that will check for a valid login and whitelisted pubkeys - and allow me to hopefully make some dashboards available externally.

Still need to build the auth front end and figure out (mostly build) some scaling aspects.. likely need a DB replica spun up too. Quite a bit of work.. but all components I’ve prototyped or have functional.

Ideally it just covers some server costs. Can build it out into a more rich product offering over time.

First image is zoomed out and second is normal.

Reply to this note

Please Login to reply.

Discussion

How difficult it would be to offer this as a service where users can enter their public key and receive all the relevant matrices or account related information?

Not hard with what I’ve built. My original Nostr goal was literally how do we model the Nostr network and events to keep a mostly accurate database or state of the universe. There are so many ways the data can go wrong… been slowly protecting against them.

Examples like newer event seen before older, deletions, double counting, all aggregation, replacing events, missing data, invalid data, spam, and I use an event stream based architecture.. so some consumers have to happen earlier - depend on upstream processes (only one actually :p).

But what I’ve been working on recently is the stats roll up and aggregation consistency side. Pretty tough to tackle, but I’ve got a solid approach now. And means dashboards can be fast. But means more processing and data to store too.

Old now and pretty different.. but this is how it started. https://github.com/blakejakopovic/NostrEventPlayground

I actually have a decent amount more dashboards setup, like zaps, individual event history over time, event content summaries, hashtags, etc. Less refined, but they have been my QA testing for database structure and accessibility.

And I’m rust now. A few small web based things left as Ruby for now.

Haven’t decided what to commit to as a web framework. Rails, Svelte, maybe something Rust. My next tough decision and I’m not happy with any of them really.

Rust has become my go-to choice now. Its versatility. 😂😅

What you are building is very fascinating. Having an accurate database is challenging in itself because data is not always accurate. It would be interested to use a small aspect of it, perhaps displaying user account information. Wondering if this would be the right approach for that.

I’m general or for something you’re working on?

Because I aggregate relays I can usually detect the newest events for a kind. And I also can do better aggregation or things like reactions and reply counts. Spam detection is easier because I see things quicker and at a larger scale. Lots of benefits - but certainly more headaches as I’m at least 10X most relays inbound processing today, lots of duplicates tho.. but it all adds up.

It’s all still best effort and never 100% accurate or current. You’ll never have full visibility.

I did consider maybe paid API services as an option. I have them today for free with rate limiting.

https://api.nostrgraph.net/beta/identities/b2dd40097e4d04b1a56fb3b65fc1d1aaf2929ad30fd842c74d68b9908744495b.json?pretty=true

https://api.nostrgraph.net/beta/events/2f6d28b773bf5f5c0b8f29e30ab5cca2ccd17cc5d771cb3530b067e0b372b5d3.json?pretty=true

It would be nice for users to have the ability to view the account metrics, and I am also thinking that there should be a separate notification center for Nostr. Nostr is more than just a social, and having a dedicated notification center would make sense.

I will look into it & let you know thank you so much

My only known issue with notifications is there we have no way to track the cursor of what has been read. Each app always shows the same events are notifications.

I think we need a way to address that.

Ha. Thanks. I posted a problem not a solution 😅

That's cool