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.