I successfully “vibe coded” my first nostr app

it’s a very simple app, but it works end to end doing the following:

1. create a new identity (npub/nsec)

2. accept a custom message from the user of the app

3. connect to a dozen or more relays (and show connection status/logging for debugging)

4. sign the message input into the app and publish it to all relays it successfully connects to

the newly created identity and message I wrote with the app is the original note shown below

nostr:note187c5l0ysa4mm254anym7ql0veazuhfde0tqfkcdwyvh3eu0jjxjsk5a624

Reply to this note

Please Login to reply.

Discussion

Cool stuff! What did you use?

started with Replit Agent V2, but couldn’t get it to reliably connect/publish to relays where I was confident it was working.

so i switched to Cursor and used “auto” model selection. tried a bit of manual model selection cuz i wanted to see if Gemini Pro 2.5/Max could be a lot better than whatever was under the hood at Replit (which I suspect is Claude Sonnet 3.5/3.7), but it was overloaded and wouldn’t connect/respond from Cursor’s interface.

anyway, got it working locally, but now i need to get it deployed to the web.

thinking i might make a video to demonstrate the struggle 😅

It will likely cost you more but I'm using VSCode/Cline with Claude 3.7. I quite like to see what I'm spending, can also switch to other models. A little bit like driving a manual car.

That would be pretty awesome to watch

Well done! Next step: publish it to a URL

thanks, yup, gotta get it live. any recs on best simplest way to deploy something like this from cursor? i’m assuming vercel or something similar, but haven’t tried it yet

Vercel if you're using a server framework, but frankly its a bit of a pain. I never publish to vercel and I have a paid account. Or if it's just static html, you can publish it to github via gh-pages.

But at this point, cursor chat could probably give you very good advice.

Just shove on github and rename the branch to gh-pages, github will do the rest. If you need to compile it to a dist folder github may work, or vercel better depending on the app, agianst, cursor chat will tell you.

https://pages.github.com/

good point. i will ask cursor chat when i’m back at my computer

Good luck on your journey. You will be ahead of most quite quickly, if you do a little bit each day, and dont get discouraged. One tip I will give you is not to let code bases get to big, because the they become harder to change. Get an app into a state that works. Then make the next one based on what you're learnt. Rinse. Repeat Best of luck!

thank you! 🙏

impressive vibe coding follow thru here

Note: technically speaking your identity in nostr is your pubky / privkey. Npub is for display purposes only, and in fact it has a bug of putting the segwit suffix on the taproot prefix. pubkey is canonical and will be your identity forever.

TIL 🤔