A personal site run like a small production system: everything is in one public repository, every change goes through a pull request, and nothing reaches the site without passing its checks.

Stack

  • Jekyll 4.4 generates static HTML. No framework, no build-time JavaScript bundler; plain CSS and a few small scripts.
  • GitHub Actions builds and deploys to GitHub Pages, with Cloudflare in front for TLS, security headers and caching.
  • Every pull request also gets its own preview on Cloudflare Pages, marked noindex.

Automation

  • Cosmic Daily fetches NASA's Astronomy Picture of the Day every morning, checks the image rights, and opens its own pull request.
  • Project cards are refreshed from the GitHub API on a schedule, then committed.
  • New pages are announced to search engines through IndexNow; external links are checked weekly.
  • Share cards for LinkedIn are drawn by a small Python tool, one per article.

Checks on every change

  • Python and JavaScript tests for the data, the templates and the scripts.
  • Every internal link resolved; accessibility (axe, WCAG 2.2 AA) on every page, at two widths and in both themes.
  • Lighthouse budgets for performance, accessibility, best practices and SEO.
  • End-to-end checks in a real browser for the command palette and offline support.
  • A secret scan of the whole git history.

Privacy and security

  • No cookies and no tracking. Page views are counted by GoatCounter, which stores no personal data.
  • Comments use giscus (GitHub Discussions) and load only on articles.
  • Fonts and scripts are self-hosted: no third-party CDN. A strict Content Security Policy and HSTS are set at the edge.

Design

  • Two themes, Night and Dawn. At dawn the stars fade and one remains.
  • Type: Archivo Expanded for titles, IBM Plex Sans and IBM Plex Mono for text and code, all under the SIL Open Font License.
  • Gold is used for one thing only: my father, Vincenzo, and his star. A test enforces it.
  • The site works offline for the pages you have read, and the sky map computes the stars above Montréal in your browser.

Credits

  • Astronomy pictures: NASA APOD and their credited authors.
  • Star catalogue and constellation lines: d3-celestial by Olaf Frohn (BSD-3-Clause).
  • Diagrams: Mermaid, self-hosted.
  • Code written with an AI coding assistant, reviewed and merged by me, one pull request at a time.