Notes

Short posts covering decisions, lessons learned, and observations from building and operating infrastructure. Each note captures a specific insight or trade-off encountered during real work.

Lesson
4 min read

Shipping Markdown on Workers Without Parsing at Runtime

How this site's markdown pipeline moved from per-request parsing inside a Cloudflare Worker to build-time compilation with a Vite plugin, and what it bought.

cloudflare-workerssolidstartvitemarkdownperformance
Decision
6 min read

Seven Demo Sites, Zero Shared Template

How the demo showcase on valkyrienexus.com keeps seven fictional businesses from looking like one layout with seven coats of paint: design from the emotional job, one signature moment each, identical engineering underneath.

designsolidstartcsscanvasaccessibilitydecision
Lesson
4 min read

The Turnstile Widget That Never Renders

Why a Cloudflare Turnstile widget inside a multi-step form silently fails verification, and the explicit-render pattern that fixed the valkyrienexus.com booking form.

turnstilecloudflaresolidjsformsspa
Decision
4 min read

The Missing SPF Record That's Supposed to Be Missing

Why sales@ mail was landing in Outlook junk, the three sender profiles I standardized across every domain, and why a 'missing root SPF' finding on a Resend domain is correct.

emailspfdkimdmarcdnsdeliverability
Lesson
4 min read

Your CSP Header Isn't Shipping: Nonces on Streamed SSR

How SolidStart's onBeforeResponse hook silently dropped my Content-Security-Policy headers, why a Cloudflare Transform Rule masked the failure, and the curl check that finally exposed it.

cspsolidstartcloudflaresecurityssr
Decision
7 min read

I Built the Same App Three Times

The C² Faction HQ lineage: a Next.js monolith in five containers, a 28-service Rust rewrite, and the deliberate retreat to one binary. A retrospective on matching architecture weight to actual load.

architecturerustsolidjsmicroservicesmonolithtorndecision
Decision
3 min read

Your Images Are Bundling Into Your Worker

How Nitro base64-inlines public/ images into server chunks on Cloudflare Workers, the deploy-script workaround I use on every client site, and the WebP rule that prevents the problem upstream.

cloudflare-workerssolidstartnitroimagesdeployment
Decision
5 min read

I Ran a SIEM in My Homelab, Then Pulled It

Why Wazuh earned a place in a single-operator homelab, what signal actually mattered at home scale, and why it came back out when the hardware reality caught up.

wazuhsiemsecurityhomelabmonitoringloki
Decision
5 min read

VA-Claims: Designing for Data That Can't Leave the Machine

Design decisions behind a fully-local VA disability claims assistant: what the privacy constraint rules out, what it forces, and what it costs in capability.

privacylocal-llmpythonredactionpdfdesign
Decision
5 min read

Multi-Agent Homelab Automation: What Worked and What Was Overkill

Design decisions from valkyrie-ai-agents, the multi-agent orchestration system I built for homelab automation, and an honest accounting of which parts earned their complexity.

ai-agentsorchestrationautomationhomelabpython
Decision
5 min read

SolidStart + Three.js: Technical Decisions for This Site

Why I chose SolidStart over Next.js and raw Three.js over wrapper libraries for a 3D portfolio site, and every major technical trade-off along the way.

solidjssolidstartthreejswebglarchitecturedecision
Decision
3 min read

SSH Management Suite: Design Decisions

Why I built a custom SSH management CLI in pure Bash, and the design choices behind key generation, config management, and connection lifecycle tooling.

sshbashtoolinghomelabsecurity
Decision
4 min read

Why Cloudflare Tunnels Over Traditional VPN

The reasoning behind choosing Cloudflare Tunnels for external access to homelab services, and what it replaces in the security model.

cloudflarenetworkingsecurityzero-trust
Decision
6 min read

Why Authentik Over Authelia

Decision analysis comparing Authentik and Authelia for identity-aware access control in a homelab environment, and why Authentik won despite higher resource cost.

authentikautheliaidentitysecuritydecision