I built a simple Nostr widget you can embed on any static website: QuickNostr.
The problem: Contact forms on static sites are annoying – you need a backend, email service, or some third-party solution that collects data.
The solution: A contact button that sends encrypted Nostr DMs directly to your npub.
How it works:
User clicks chat button → modal opens
User writes message
Fresh keypair is generated on the fly (no nsec exposed in frontend)
Message gets encrypted and sent as Nostr DM (kind 4) to your configured npub
Done
Why Nostr instead of email?
No backend needed
No email spam
End-to-end encrypted by default
No third-party tracking
Works on any static host (GitHub Pages, Netlify, Vercel, etc.)
Setup: Clone the repo, run npm build, configure your npub, and embed three script tags. Self-hosted, full control.
Perfect for landing pages, portfolios, or any static site where you want people to reach you without exposing your email.
GitHub: https://github.com/k4lb1/QuickNostr
Open source (MIT License). Would love to hear your thoughts!
True, you need relays - but I run my own mail server, so I know the difference. Public Nostr relays vs managing postfix/spam filters/DMARC/deliverability is night and day.
Re: spam - at least with Nostr: 1) No email address exposed on your site, 2) Easy to filter/block npubs, 3) Can switch identity anytime without updating DNS/MX records. And if you DO run your own relay, it's way simpler than email.
Do you run your own email servers?
Is DM spam better?
True, you need relays - but I run my own mail server, so I know the difference. Public Nostr relays vs managing postfix/spam filters/DMARC/deliverability is night and day.
Re: spam - at least with Nostr: 1) No email address exposed on your site, 2) Easy to filter/block npubs, 3) Can switch identity anytime without updating DNS/MX records. And if you DO run your own relay, it's way simpler than email.
k