Freek van de Ven

project · July 2026

freekvandeven.nl

This site: a fully static Astro build with one PHP endpoint for contact, deployed to shared hosting over SFTP from GitHub Actions.

  • Astro
  • TypeScript
  • PHP
  • GitHub Actions

The site you’re looking at. The constraint that shaped it: TransIP shared hosting serves static files and PHP, nothing else — so everything compiles ahead of time and ships as plain HTML, CSS, and a handful of images.

  • Astro with a typed content collection for projects; each project is one Markdown file with schema-checked frontmatter.
  • No client-side JavaScript except on the contact page, where Cloudflare Turnstile does the anti-spam check.
  • The contact form posts to a single PHP endpoint with a honeypot, a minimum-time check, and file-based rate limiting — the one dynamic thing on the server.
  • On every push to main, GitHub Actions builds the site, injects the mail configuration from repository secrets, and uploads the output over SFTP.
  • Design system: two typefaces, six named colors, and one SVG — a dartboard’s wire drawn to regulation proportions.

TODO: add the GitHub repo link (repoUrl) once this repository is pushed.