Shawn's avatar
Shawn
_@shawnyeager.com
npub1clk6...pup9
Go-to-Market · AI · Bitcoin · Frontier Tech sideband.pub trustrevolution.co
Shawn's avatar
shawn 3 months ago
AI makes building easy, so the product isn't the moat anymore. Defensibility shifts to GTM, networks, data, and speed. Big companies can't match a founder's urgency. Bullish for early stage.
Shawn's avatar
shawn 3 months ago
A friend raised a point today that put me back on my heels, though I suppose it should be obvious by now: “It looks like customer facing companies will have to choose their market in the US, and it has been cut in half. Gonna be tough to capture the entire US anymore.” American consumers must be approached as a bifurcated market: you see Red, or you see Blue. Two different realities.
Shawn's avatar
shawn 3 months ago
gm, good people. ☕ Have a great week.
Shawn's avatar
shawn 3 months ago
I forked hugo2nostr and added some features I needed: • Multi-site support - manage multiple Hugo sites from one config (I publish essays and notes to different sites) • Image uploads - auto-upload to nostr.build with NIP-98 auth, cached so you don't re-upload • Preview command - see how your article will look before publishing • Shortcode processing - converts Hugo shortcodes to markdown PR submitted upstream. Thanks to @Emre Yilmaz for the original project.
Shawn's avatar
shawn 3 months ago
After a weekend of experiments, I can't find a single client that renders long-form in a rational way other than @primal. Happy to be proven wrong.
Shawn's avatar
shawn 3 months ago
Does anyone have insight into how to purge ghost "reads" from @primal? My profile shows 3 reads, two of which I deleted long ago, and one was a misfire from today.
Shawn's avatar
shawn 3 months ago
There's no place like home.
Shawn's avatar
shawn 3 months ago
NIP-46 wins this round. I am humbled.
Shawn's avatar
shawn 3 months ago
gm, good people. ☕
Shawn's avatar
shawn 3 months ago
Reminiscing about the abusive ex from your 20s and the good times you had, despite it all. Reminiscing about X. Same energy.
Shawn's avatar
shawn 3 months ago
Working on hugostr — a CLI tool that publishes Hugo blog posts to nostr as kind:30023 events. It uses NIP-46 (remote signing) so users can sign events with their phone (Amber, Primal, et al). The flow and where I'm stuck 1. User runs hugostr publish content/post.md 2. CLI displays a QR code with nostrconnect:// URI 3. User scans with Amber, approves the connection 4. CLI shows "Connected!" ✅ 5. CLI shows "Requesting signature..." then hangs forever ❌ 6. Amber never shows a signing prompt Technical details - Using nostr-tools library (v2.19.4) with BunkerSigner - Relay: wss://relay.nsec.app - The initial NIP-46 handshake completes successfully - When calling bunkerSigner.signEvent(), it should: 1. Publish a kind:24133 event with encrypted sign_event request 2. Amber receives it, prompts user, sends back signed event 3. But step 2 never happens - Amber doesn't see the request What I've tried 1. nostr-tools BunkerSigner - connection works, signing hangs 2. NDK's NDKNip46Signer - same issue 3. Checked relay connectivity - pool.publish() works in isolation 4. Added reconnection logic after connection - no change Suspected causes 1. Pool/WebSocket connection state gets corrupted after the initial handshake 2. Subscription filter issue (Amber uses since = now()) 3. Something specific to how nostr-tools manages the post-connection subscription What would help - Anyone who has successfully used NIP-46 client-initiated flow (nostrconnect://) from Node.js with Amber - A working reference implementation to compare against - Insight into common NIP-46 pitfalls Halp? #asknostr
Shawn's avatar
shawn 3 months ago
gm, good people. ☕