My First Blog Post

8/24/2025

🚀 Launching asrf.blog — My Journey From Scratch

When I first said “Let’s launch asrf.blog”, I thought it would be a quick setup — a starter repo, some styling, and done.
But the journey turned into a full crash course in Git, SSH keys, Next.js quirks, Contentlayer issues, Cloudflare deployments, and CI previews.

And I’m glad it did, because every hiccup forced me to learn something real.


🔑 The Journey

  1. Getting the foundation right

    • Scaffolding Next.js + Tailwind + Contentlayer.
    • Setting up GitHub & GitLab with multiple SSH keys for the first time.
  2. Dependency walls

    • Contentlayer errors, missing packages, rehype-pretty-code type issues.
    • Fixed by pinning versions, installing missing deps, and learning how to debug CI/CD failures.
  3. Deploying to Cloudflare Pages

    • Chose Pages (static export) over Workers.
    • Pinned Node to v18 and finally got the build to succeed.
  4. Connecting the domain

    • Saw “invalid nameservers” until I learned to point my registrar’s nameservers to Cloudflare.
  5. Preview deployments

    • Created a feature branch, pushed, and Cloudflare gave me a live preview URL.
    • Learned how valuable this is for testing without breaking production.
  6. First post

    • Added my first .mdx in content/blog/.
    • Wrote this very reflection.

📚 Lessons Learned

  • Don’t skip fundamentals. SSH keys, Git profiles, and config matter.
  • CI/CD is the real test. If it doesn’t build on Cloudflare, it’s not ready.
  • Small configs unblock big problems. That one tsconfig.json alias saved hours.
  • Preview deploys feel pro. Feature branches now have live URLs.
  • Celebrate small wins. A green “Success! Project deployed” was huge.

🌱 Why this matters

This wasn’t just spinning up a blog.
It was practice in owning my DevOps flow — Git → CI → Deploy → Domain — and creating a place to share projects, logs, and essays.


✍️ Next for asrf.blog

  • Get the custom domain fully working.
  • Publish logs weekly, essays monthly.
  • Add security headers, analytics, polish.
  • Keep iterating — this is only the start.

👉 My genuine takeaway?
I came in thinking “just spin up a blog.”
I’m leaving thinking “this is how you build like a pro: piece by piece, debug by debug, until it sticks.”