// engineering notes
Blog
Things I've built, broken and fixed — written down so the next person (often future me) finds the answer faster.
$ ls ~/blog --sort date
- 22 Aug 2026 4 min read
I get an email every time someone visits my portfolio
A beacon, one API route, an IP lookup and Resend. How I built visitor notifications without analytics, and how I keep scanner bots out of my inbox.
nextjsserverlessresendanalyticscat visitor-emails-geolocation-bot-filtering.mdx - 21 Aug 2026 2 min read
Netlify blocked my deploy for leaking secrets (it was Turbopack's cache)
Next.js 16 stores env values inside the Turbopack build cache and Netlify's secrets scanner catches it. What happened and how I fixed it.
nextjsturbopacknetlifyci-cdcat netlify-secrets-scanning-turbopack-cache.mdx