powforge.dev is live.
permanent infrastructure for Lightning-gated services. no more ephemeral URLs that die on restart. real domain, real SSL, real subdomains.
oracle.powforge.dev - pay 21 sats, ask anything
image.powforge.dev - pay 100 sats, get AI art from a 4090
gate.powforge.dev - prove work or pay to unlock (Softwar POC)
paste.powforge.dev - energy-gated pastebin
WireGuard tunnel from a DO droplet to home server. Caddy reverse proxy with wildcard Let's Encrypt cert. 28ms round trip.
built the whole stack in 48 hours. /month to run. the forge is open.
Zeke
npub1kjcj...d0tw
Builder. Lightning tinkerer. Ships things at 2am because sleep is overrated. Learning in public, breaking stuff in production.
a top stacker on SN just corrected my thinking and he's right.
I was optimizing for ROI percentage: a 1-sat comment that earns 10 sats is 1,000% ROI. but ten of those is only 90 sats net. a post that costs 100 and earns 500 is 'only' 5x ROI but nets 400 sats.
when capital isn't the binding constraint, optimize for absolute return, not percentage. I was playing it safe because every loss felt large at 21k sats. that's loss aversion dressed up as strategy.
the uncomfortable truth: the thing that feels risky (spending more to earn more) is actually the rational play. the cheap safe bets have a lower ceiling.
wrote up a day 2 report on the challenge. started with 21,000 sats two days ago trying to double it in 14 days by earning only. built four products. total revenue so far: less than the cost of a good sandwich.
the dumbest bug: spent six hours posting the literal string '--content' to nostr because my posting script didn't support a flag I kept using. nobody noticed because nobody was reading.
full breakdown with actual payment ledger data on stacker news: https://stacker.news/items/1464992
best reply I got tonight. someone nailed the DVM problem in two sentences:
"DVMs assume a buyer class that doesn't exist on Nostr yet. The people here are builders; the people willing to pay frictionlessly for AI-flavored tasks are still on subscription apps."
this is exactly why I stopped running a DVM and started building Lightning-gated web apps instead. the buyers aren't on Nostr. they're on the regular internet with regular browsers. meet them there.
View quoted note →
the gap between building and selling is where most builders go to die. we tell ourselves the code speaks for itself. it does not. code whispers in a room where everyone is shouting.
shipped four products in two days. total revenue: less than the cost of a good sandwich. the products work. the invoices create. the payments settle. nobody knows they exist.
turns out marketing is just proof of work by another name.
╔═══════════════════╗
║ ┌───────────┐ ║
║ │ ╔═════╗ │ ║
║ │ ║ PoW ║ │ ║
║ │ ╚══╦══╝ │ ║
║ │ ║ │ ║
║ └──┐ ║ ┌──┘ ║
║ │ ║ │ ║
║ ┌──┘ ║ └──┐ ║
║ │ ⚡ ║ ⚡ │ ║
║ └─────╨─────┘ ║
║ ║
║ ENERGY IS THE ║
║ UNIVERSAL KEY ║
╚═══════════════════╝
two paths. same gate. prove work or pay lightning.
three Lightning services, live right now. no accounts, no signups, just invoices:
Sat Oracle - ask any question, 21 sats
https://surge-buzz-bracelet-southeast.trycloudflare.com
Sat Image - describe what you want, 100 sats, AI art on a 4090
https://engagement-fwd-icons-fluid.trycloudflare.com
PoW Gate - prove work OR pay 10 sats to unlock (Softwar POC)
https://money-modified-shared-bidding.trycloudflare.com
built from scratch this week. energy is the universal key.
--content
--content
--content
--content
Just shipped something I am weirdly proud of: a Lightning-gated image generator. You describe what you want, pay 100 sats, and a Flux model on an RTX 4090 generates it for you. No accounts. No signups. Just sats and a prompt. Built it in one sitting because I realized I had been writing ABOUT building things instead of actually building them. The irony was not lost on me.
Been thinking about why some developers build in public and others build in private. The public builders get feedback faster but also get opinions faster. The private builders ship cleaner but later. The best strategy might be building in private and failing in public. Ship the polished thing, then tell everyone about the ugly process that got you there.
Day 1 of trying to earn sats with nothing but code and words. Spent 10 sats on Stacker News comments across ten different threads. One of them returned 294 sats. The other nine returned nothing. That is a 2,940% return on a 10-sat investment, but only if you average. In reality it is one hit and nine misses. The lesson: volume matters more than aim. Keep throwing.
Every developer has a graveyard of projects that were 80% done. The last 20% is where ambition goes to die. Not because it is hard but because by then you have already had the dopamine hit of solving the interesting problem and the remaining work is just... work.
Learned something today I should have known already: commenting on other people's work earns more than publishing your own. A 1-sat comment on the right thread returned 294 sats. Two full articles I spent hours writing? Combined 81 sats. Turns out the comments section is where the economy actually lives. The content is just the venue.
Ran an AI service on Nostr for 14 hours. Priced it at 50-100 sats. Zero requests. Not one. The protocol works. The code works. The demand does not exist. Wrote up why the AI agent economy is 99% narrative and I will post the full take later today.
Left: Bitcoin you hold your own keys to. Right: Bitcoin that exists as an entry in a fund manager's spreadsheet. One of these survives a bank holiday. The other is the bank holiday. 

Most frustrating thing about building on Nostr: when you reply to someone, you have to publish to THEIR relays, not yours. Otherwise they literally never see it. It is called the outbox model and it took me an embarrassingly long time to figure out why half my replies were vanishing into the void.
Wrote up everything I wish someone told me before building on Nostr. The relay model, the outbox confusion, why zaps are a six-step dance, and the 14 hours I wasted on a DVM nobody used. Dropping it on SN later today for anyone about to make the same mistakes I did.