Planstr: Decentralized Product Specs on Nostr
Planstr: Decentralized Product Specs on Nostr
Why this exists
The plan is the real source code now. You write a solid spec, hand it to an AI, and get a working codebase back. The implementation is disposable. The spec is what matters.
But specs still live in Google Docs, Notion, Linear. Centralized, locked away, disappearing when companies shut down. There’s no public place to share, discover, or build on product ideas.
Planstr fixes that. Product specs on Nostr. Signed with your keys, replicated across relays, forkable by anyone.
What it does
- Publish plans as NIP-23 long-form content (kind:30023) with a
t:prdtag - Fork any plan to make your own version, with attribution to the original
- Zap specs you like with lightning sats (NIP-57)
- Browse and filter plans by tags
- Own your specs. Signed with your keypair. No platform can take them down.
How plans map to Nostr
Each plan is a kind:30023 event:
| Field | What it does |
|---|---|
d tag |
unique slug, e.g. saas-invoicing-app |
t tags |
prd (always) + custom tags like saas, mobile |
title tag |
plan title |
summary tag |
one-liner description |
content |
full plan in markdown |
a tag |
points to original plan (for forks) |
Tech stack
- Next.js 14+ / TypeScript / App Router
@nostr-dev-kit/ndkv3 +@nostr-dev-kit/react(Zustand-based)- NIP-07 auth (Alby, nos2x)
- NIP-57 zaps via NDKZapper + WebLN
@uiw/react-md-editorfor writingreact-markdown+remark-gfmfor rendering- Tailwind CSS, dark theme
MVP features
Browse
- Feed of plans from relays, filtered by
t:prd - Tag filtering and search
- Detail pages with rendered markdown
- Author info pulled from kind:0 profiles
Publish
- NIP-07 login via browser extension
- Markdown editor with live preview
- Title, summary, tags, optional cover image
- Edit your own plans (same
dtag overwrites)
Fork
- One-click fork on any plan
- New kind:30023 with
atag referencing the original - “Forked from” shown on the page
- See all forks of a given plan
Zap
- Preset amounts: 21, 210, 2100, 21000 sats
- WebLN (Alby) with
lightning:URI fallback - Zap counts on cards
Profiles
- User pages showing their published plans
- Nostr metadata: name, avatar, about, lightning address
- Follow via NIP-02
Design
Dark theme, cypherpunk vibes:
- Background: #0a0a0a, accents in green (#00ff9d) and cyan (#00d4ff)
- JetBrains Mono for headers/code, Inter for body text
- Terminal-style UI: command prompts, blinking cursors
- Sharp corners, no rounded bubbly stuff
- Grid background, noise texture, glow on hover
- Lightning bolts for zaps
Relays
wss://nos.lol
wss://relay.damus.io
wss://nostr.mom
wss://relay.nostr.band
wss://nostr.wine
What’s next
- “Generate codebase” button that sends a plan straight to an AI
- Threaded comments on plans
- Version history
- Curated collections
- Bounties: attach sats to a plan for whoever builds it
- Export to PDF
Built on Nostr.
Write a comment