zackgomez.net

Overview

This website serves a blog, docs, contact form and about page, and photo portfolios. It’s served via Cloudflare Pages and deployed with Wrangler.

It’s built using Node.js and depends on:

  • Astro for project structure and build
  • Astro MDX plugin
  • rehype-callouts to enable Markdown callouts with Obsidian syntax
  • exifr for parsing image metadata
  • lightGallery for friendly image display
  • 1 Cloudflare Worker to log and forward form submission JSON data
  • Resend to receive form data and forward an email
  • Cloudflare KV to store form data

I’m only using Resend because I have a different mail provider on this domain. Cloudflare Email Routing for subdomains requires the domain apex to have Email Routing enabled, which would mean removing my mail provider. So for now, I’m using a second domain for Resend. It was very easy to configure.

Privacy and use of JavaScript

There is no code on this website that collects data about you or tries to track you across the Internet. There is client-side JS. The gallery components use lightGallery to display images and enable some interactibility: image cycling, downloads, and zoom. The docs and blog pages use tiny scripts to store state information for menus. Your traffic is routed through Cloudflare, and they collect analytics.

Is the website vibe-coded? Do you use AI?

  • No, the website is not vibe-coded.
  • Yes, Anthropic Claude was used to assist with specific things:
    • Pre-build scripting and metadata parsing
    • Build-time loading of dynamic content into gallery pages
    • Troubleshooting (generally as a last resort)
  • LLMs never touch my writing. My voice as a writer is a core part of my identity and I’m opposed to using it as a so-called “creative tool”. Throughout all my published work, I promise to always disclose where and how generative AI was used. For more about this see my document on AI and LLMs.

The layout, design, style and substance of the site are my own.