-
2024-10-12 15:33:58
# relay.tools quarterly report
January, 2024
## Project updates
## UI design
[Relay.tools](https://relay.tools) spent quite a bit of time working on UI design this quarter. Since UI is time intensive and there are many other aspects of the project that need work, I time-boxed this work to 3-4 weeks total.
I engaged with @Daniel from #nostrdesign and a freelance UI developer @freecritter. We setup a penpot instance for relay.tools and practiced using that instead of closed-source figma. We learned that penpot is not as friendly as figma from a designers point of view, but is workable. From the perspective of a frontend engineer it is no different than figma and using penpot is a big opensource win.
The following designs were implemented this quarter. There is still much to do in this area and some aspects have been brainstormed but put on hold due to other priorities.
### Relay branding and directory
I wanted to give the relays personality and branding, here is a list of improvements in this area:
- [x] The home page now prominently displays the public relays that have chosen to advertise.
- [x] Relay 'Badges' were re-designed to have better contrast and fit.
![explore relays](https://i.nostr.build/KDq3.png)
- [x] Relays have a custom direct landing page at their domain. eg. [frogathon.nostr1.com](https://frogathon.nostr1.com)
### 'Paid relay' support
Relays now support lightning payments to the relay.tools operator. This helps with combating spam and allowing the relay owners to subsidize their monthly cost.
![landing page](https://i.nostr.build/5PMK.png)
### Layout / theme
The frontend code has been modified so that it is responsive on mobile/desktop using columns.
The menu was re-designed to be responsive on mobile and shows user hints for login as well as additional links (explore, FAQ).
Theme switcher bugs for light/dark modes have been fixed. (Nextjs bleeding edge workaround was required).
### Relay Explorer Alpha
The Relay Explorer Alpha is a mini-client for interacting with a single relay. The following improvements were made:
- [x] Moderation capabilities added: Mods can delete messages, block pubkeys, and delete+block directly from the explorer.
- [x] Image and Link parsing / optional loading.
- [x] Replies implemented.
Example screenshot showing these features:
![mod capabilities](https://i.nostr.build/gVrG.png)
## Installer
Another main focus this quarter was to implement an installer for the relay.tools software so that anyone can easily self-host this on a generic VPS.
The installer will be a simple shell script that asks the user a few questions (like their domain name) and then automatically installs the entire stack.
A new code repository was created for this called [relay-tools-images](https://github.com/relaytools/relay-tools-images)
- [x] Main architecture to match production (systemd and nspawn).
- [x] Common Base OS image builds (Debian).
- [x] Haproxy, Strfry, Relaycreator and Mysql image builds.
- [x] Auto-updating of application code (including database migrations).
This is still in-progress and will be part of next quarter's priorities to finish the first stage. (described in plans for next quarter)
## Lightning Node
A decent amount of time was spent managing a Bitcoin+Lightning+LnBits node and building a second node for testing and standby purposes.
I had some node issues this quarter and have been learning, re-building the node, upgrading, and aquiring more inbound liquidity to support relay operations.
## Relay Management / daily operations
Relay.tools growth last quarter exceeded expectations and lots of work in the ladder part of this quarter went into daily operations.
It grew so fast that I have paused any advertising so that I have time to implement some important growth related features (as described in the plans for next quarter).
* number of relays currently running: 63
* number of unique admins/mods: 207
* events processed in last 30d: 5,091,724
* gigabytes sent/received in last 30d: 1,651GB / 175GB
### Monitoring
Daily operations include checking in on the relay activity to get a feel for what's going on. I've implemented an InfluxDB integration for the strfry plugin, which helps with daily operations and in the future will provide owners, mods, and users with stats showing relay performance and event counts. This greatly improves visibility into the relays and is the backbone of data analysis for the platform.
#### Events by Kind (7d)
![Events by Kind (7d)](https://i.nostr.build/6WgO.png)
#### Events by Relay (7d)
![Events by Relay (7d)](https://i.nostr.build/B46w.png)
#### Data Explorer View (single relay, kind 3)
![Data Explorer view](https://i.nostr.build/zWx0.png)
### Moderation
Daily operations time is also spent ensuring relays meet our TOS. That includes browsing the relays content for anything that does not meet the TOS and performing mitigation when necessary. This can be time consuming. I will be adding super-moderator capability so that others can assist as we grow (as described in the plans for next quarter).
### Training / Feedback / Community
I promoted the use of event specific relays for nostr community events.
Feedback was very positive and showed that people enjoy having event specific relays even if client support is minimal.
* Nostrasia
* Frogathon
![nostrasia feedback](https://i.nostr.build/YQX7.png)
## Plans for next Quarter
Finish the installer
- [ ] SSL certificate management with certbot.
- [ ] Nostr key generation for API credentials.
- [ ] install.sh script for interactive -and- config file based one-shot installation.
- [ ] Publish pre-built images and integrate their use with the installer.
Re-Occuring Billing (+ tools for interacting with community of relay runners)
- [ ] Implement re-occuring billing using a credits system and lightning payments.
- [ ] Implement user notification(s) for billing cycle notifications.
- [ ] Implement user feedback / support channel.
Additional visibility and moderation tools
- [ ] Implement super-moderator capability for TOS violations.
- [ ] Engage with community to help support moderation