mirror of
https://github.com/Routstr/protocol.git
synced 2026-08-08 23:34:42 +00:00
2.2 KiB
2.2 KiB
TODO
- 100% local frontend (no backend)
- UI components: search bar, filters panel, model card (description, models, price)
- Include chat application, discovery interface, landing page, and documentation
- Support Nostr-based login
- Cashu wallet integration
- Filter nodes by supported models, region, price range, social proximity, and average rating
- Allow users to publish personal node information and interact with nodes
- List active nodes from Nostr Kind 40500
- Subscribe to Nostr Kind 40500 & 31555 events
- Maintain in-memory index and update on new events
- Render node list with applied filters
- Real-time UI updates on new events
RIP-03: Frontend Discovery
This document defines a fully client-side, 100% local web or app interface for node discovery, chat, and interaction. There is no backend: all logic and data flow run in the user's browser or device. The frontend includes a chat application, discovery interface, landing page, and documentation. Authentication and filtering leverage Nostr for login and social graph-based filtering. Users can publish their own node information or interact with available nodes directly from the interface.
Features
- 100% local frontend: no backend, all data and logic run on the client.
- Includes:
- Chat application
- Discovery interface
- Landing page
- Documentation
- Nostr-based login and filtering (social graph proximity)
- List active nodes from Nostr Kind 40500.
- Filter by:
- Supported model(s)
- Region
- Price range
- Social network proximity (follow graph)
- Average rating (from evals)
- Publish personal node information or interact with nodes
- Future: Toggle eval visibility once RIP-04 is live.
UI Components
- Search Bar: Free text for node-id or description.
- Filters Panel: Sliders and checkboxes.
- Node Card:
- Description
- Models
- Price
- Rating summary
- Connect button (opens external client)
Data Flow
- Subscribe to Nostr Kind 40500 & 31555 events.
- Maintain in-memory index, update on new events.
- Join with evals to compute live scores.
- Render node list with applied filters.
Metrics
- Query performance: ≤200 ms for 1 k nodes.
- Real-time updates: UI refresh on new events.