A zero-backend, zero-database navigation site built with Astro. One data file drives every card, category and search result.
I studied physical oceanography. These days I spend most of my time building and maintaining websites, scripts and small services. I prefer static sites, clear code and tools that do one thing well.
This page collects code, static sites, automation and self-hosted projects. Research is in the academic scene; slides and templates are in the design scene.
Static-first web
Astro and Nuxt sites with little JavaScript, fast loads and simple deployment.
Small automation
Python scripts, scheduled jobs and Cloudflare Workers for repetitive tasks.
Self-hosted utilities
Docker services and personal cloud tools that I run and maintain.
Pinned
View all on GitHub ↗A service-worker backend for OpenList deployed on Cloudflare Workers, powering a personal file index.
A Python and GitHub Actions pipeline that translates journal RSS feeds and republishes them twice a day.
An OAuth bridge that lets Sveltia CMS authenticate against GitHub without a dedicated backend.
A self-hosted streaming front end for browsing and playing media sources in the browser.
A Hugo blog stack used for long-form notes, experiments and writing workflows.
Repositories
A zero-backend, zero-database navigation site built with Astro. One data file drives every card, category and search result.
A service-worker backend for OpenList deployed on Cloudflare Workers, powering a personal file index.
A Python and GitHub Actions pipeline that translates journal RSS feeds and republishes them twice a day.
An OAuth bridge that lets Sveltia CMS authenticate against GitHub without a dedicated backend.
A Hugo blog stack used for long-form notes, experiments and writing workflows.
Toolbox
Build
- Astro
- Nuxt
- Vue
- TypeScript
- Tailwind CSS
Script
- Python
- MATLAB
- Fortran
- Bash
Ship
- Cloudflare Workers
- Netlify
- Docker
- Linux
- Git
Type & design
- LaTeX
- Typst
- Markdown
- Figma