mirror of
https://github.com/hoornet/vega.git
synced 2026-04-24 06:40:01 -07:00
- Add item #10: project funding/support UI brainstorm (Bitcoin, Lightning, zaps) - Update 'already done' to reflect recent work (reactions, follow, search, settings) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
116 lines
4.3 KiB
Markdown
116 lines
4.3 KiB
Markdown
# Wrystr — Next Steps Roadmap
|
|
|
|
_Generated 2026-03-09 based on codebase analysis._
|
|
|
|
---
|
|
|
|
## Vision note: more than a Nostr client
|
|
|
|
Wrystr is not just a great desktop Nostr client. **Long-form content is a first-class,
|
|
distinguishing feature of this project** — not an afterthought, not a checkbox NIP.
|
|
|
|
The article editor (NIP-23), the reading experience, the writing tools around it — these
|
|
set Wrystr apart from other clients and define its identity. Think of it as a publishing
|
|
platform that happens to live on Nostr, not a social feed that happens to support articles.
|
|
|
|
> **TODO — brainstorm needed:** What does "owning long-form on Nostr desktop" actually
|
|
> look like? Reading experience, discovery, editor features, monetization via zaps,
|
|
> cross-posting, author identity — all of this needs a dedicated design session.
|
|
> Leave this as an open thread until we sit down to work through it properly.
|
|
|
|
---
|
|
|
|
## Quick wins (high impact, low effort)
|
|
|
|
### 1. Settings View
|
|
- Currently 100% stubbed with placeholder text
|
|
- Add relay management: add/remove relay URLs
|
|
- Appearance toggles (theme, etc.)
|
|
- Key export/management UI
|
|
|
|
### 2. Follow/Unfollow from UI (NIP-02 — P1)
|
|
- Follow list is already fetched in the user store and used for the following feed
|
|
- Just needs a Follow/Unfollow button on ProfileView
|
|
- Data layer is already there — this is mostly UI work
|
|
|
|
### 3. Reaction counts from network
|
|
- Likes are currently tracked in localStorage only
|
|
- Reaction counts from the network are never fetched or displayed
|
|
- Would make notes feel much more alive socially
|
|
|
|
---
|
|
|
|
## Medium effort, high value
|
|
|
|
### 4. Zaps (NIP-57 + NIP-47 — P2)
|
|
- lud16 (Lightning address) is already shown on profile pages
|
|
- Needs: zap modal, amount picker, NWC wallet connection (NIP-47)
|
|
- Big UX differentiator vs other clients
|
|
|
|
### 5. Search (NIP-50 — P1)
|
|
- Not started at all
|
|
- Easiest entry point: hashtag search (hashtags are already highlighted in NoteContent)
|
|
- Then: full-text note search, user search
|
|
|
|
### 6. OS Keychain via Rust (Tauri backend)
|
|
- Security-critical: private keys currently only live in memory
|
|
- Rust backend (`src-tauri/src/lib.rs`) only has a placeholder `greet()` command
|
|
- Tauri has keychain plugins ready to use
|
|
|
|
---
|
|
|
|
## Longer term
|
|
|
|
### 7. Onboarding flow
|
|
- Nostr onboarding is notoriously bad across most clients; Wrystr should be the exception
|
|
- Key generation built-in (no "go get a browser extension first")
|
|
- Human-readable explanation of what a key is, without crypto jargon
|
|
- One-click backup flow (show nsec, prompt to save)
|
|
- New users should see interesting content immediately, not a blank feed
|
|
- Optional: custodial key service path for non-technical users, with a clear path to self-custody later
|
|
|
|
### 8. SQLite note caching
|
|
- Notes disappear on every refresh — no persistence
|
|
- Would make the app feel dramatically more solid and fast
|
|
- Rust backend is the right place for this
|
|
|
|
### 9. Direct Messages (NIP-44 — P3)
|
|
- Significant complexity (encryption, key handling)
|
|
- Major feature gap but non-trivial to implement well
|
|
|
|
---
|
|
|
|
### 10. Project funding & support UI
|
|
|
|
> **TODO — brainstorm needed:** Users should have an easy, visible way to support the
|
|
> project financially. This should feel native to the Nostr/Bitcoin ecosystem, not like
|
|
> a generic donate button.
|
|
>
|
|
> Options to design around:
|
|
> - **Bitcoin on-chain** — static address or xpub-derived address
|
|
> - **Lightning** — LNURL-pay / Lightning address (instant, low-fee)
|
|
> - **Zaps** — zap the developer's Nostr profile directly from within the app
|
|
> - **Recurring** — Lightning recurring payments (NIP-47 or similar)
|
|
>
|
|
> UI ideas: a small persistent icon (⚡ or ₿) in the sidebar footer, an About modal,
|
|
> or a dedicated Support page. Should be tasteful and opt-in, never nagging.
|
|
> Ties directly into the zap infrastructure we'll build for NIP-57 anyway.
|
|
|
|
---
|
|
|
|
## What's already done (for reference)
|
|
|
|
- Global + following feed
|
|
- Note rendering (images, video, mentions, hashtags)
|
|
- Compose + reply
|
|
- Reactions (like button + network counts)
|
|
- Follow / unfollow (NIP-02)
|
|
- Profile view + edit
|
|
- Thread view
|
|
- Article editor (NIP-23, with draft auto-save)
|
|
- Search: NIP-50 full-text, hashtag (#t filter), people
|
|
- Settings: relay add/remove (persisted), npub copy
|
|
- Login (nsec + read-only pubkey)
|
|
- Relay connection status view
|
|
- NDK wrapper for all Nostr interactions
|