← Back

Hello, world

This is the first post on this site. The site itself is the project for now: a small Rust + Go split running on a Raspberry Pi sitting on a desk in Midlothian, Virginia, served to the internet through a Cloudflare Tunnel — no exposed ports, no leased VM, no platform fee.

The split goes like this:

  • Rust (Axum) handles data: loading these Markdown files at startup, rendering them to HTML, serving them as JSON.
  • Go (net/http + html/template) handles everything you actually see: routing, templating, static files. It calls the Rust service over localhost.

Why split it at all? Two reasons. First, I wanted a small project to learn both languages by building something real. Second, the architecture mirrors a pattern that shows up in production systems I’d like to understand better — Go for the fast-shipping orchestration layer, Rust for the parts where every byte matters. At this scale neither matters, but the muscle does.

This post is also a test that the Markdown loader works. If you’re reading it on the live site, that means the round-trip is solid: a .md file in the repo, parsed at boot, served as JSON, rendered as HTML, delivered through the tunnel. Boring infrastructure doing its job.

More to come.