Setup
Uses
The tools, stack, and infrastructure running this site and most of my daily work. Updated as things change.
Frontend stack
The core framework running this site.
The full-stack Vue framework. Static site generation via the `github_pages` preset, with file-based routing and server-side OG image rendering.
Composition API throughout. `<script setup>` with TypeScript, `withDefaults(defineProps<T>())`, and zero class components.
Strict mode, enforced via `.nuxt/tsconfig.json`. Types live in `app/types/`, interfaces defined inline in component files.
Utility-first styling with no `<style>` blocks anywhere in the codebase. Every visual decision is a Tailwind class.
Markdown-driven content with Zod-validated collections. Covers blog posts, topics, series metadata, and author profiles.
Testing & quality
How the code stays reliable.
Unit and composable tests with `happy-dom`. Globals enabled, `@` and `~` path aliases wired to `./app/`.
End-to-end and accessibility tests. `pnpm test:a11y` runs the full a11y suite against the running dev server.
Lint with auto-fix on every save. `pnpm lint` also runs in CI before any deployment so broken formatting never ships.
Code formatting via `pnpm fix`. Consistent output across the whole codebase.
Build tooling
What makes the development workflow fast.
Infrastructure
Version control, hosting, and deployment.
Version control and the hub for everything else. Every repository, pull request, and review lives here.
Static hosting via `npx nuxi build --preset github_pages`. Free, reliable, and the right fit for a content-heavy site with no dynamic server requirements.
CI/CD pipeline for building, linting, and deploying. Daily scheduled builds keep content fresh.
DNS management for arlon.dev. Handles domain routing to GitHub Pages with zero configuration overhead.
Part of the security layer. More in the Security section below.
Observability
Error tracking, uptime, and notifications.
Error tracking with sourcemap uploads during CI. Sourcemaps are hidden in production but errors still point to the correct file and line number.
Uptime monitoring with alerts when the site goes down. Simple, reliable, and free for the monitoring interval this site needs.
Deploy notifications piped directly into a channel. Success and failure both fire, so a broken deployment is never silent.
Security
All handled in-house.
Something custom runs here.
Not a third-party service. Not a SaaS dashboard. Built from scratch, deployed on its own infrastructure, and maintained in-house. A full writeup is coming.