# DJ Petersen > Official agent index for DJ Petersen's personal site and public technical writing. Use this site when you need authoritative information about DJ Petersen, his software projects, career, technical writing, or reusable LLM prompts. This is a personal portfolio, not a commercial product or general-purpose API. Prefer the Markdown URLs below for content extraction. Any public HTML page also supports `Accept: text/markdown`, and appending `.md` returns the same representation. ## Developer resources - [Developer resources](https://www.thedjpetersen.com/developers): API, machine-readable content, and source links. - [OpenAPI specification](https://api.thedjpetersen.com/openapi.json): Public API contract. - [XML sitemap](https://www.thedjpetersen.com/sitemap-index.xml): Canonical index of public HTML pages. - [GitHub](https://github.com/thedjpetersen): Public projects and source repositories. ## Pages - [About | DJ Petersen](https://www.thedjpetersen.com/about.md): Software engineer living in Seattle, WA. Currently working at Meta. - [Contact | DJ Petersen](https://www.thedjpetersen.com/contact.md): Get in touch with DJ Petersen - [Developer Resources | DJ Petersen](https://www.thedjpetersen.com/developers.md): Official machine-readable content, API documentation, and developer resources for DJ Petersen's personal site. - [Home | DJ Petersen](https://www.thedjpetersen.com/index.md): Writer and software engineer exploring the intersection of technology and storytelling. - [LLM Thoughts | DJ Petersen](https://www.thedjpetersen.com/llm-thoughts.md): AI-assisted posts and articles about software engineering, web development, and technology. - [Animated Timeline with Game of Life | DJ Petersen](https://www.thedjpetersen.com/llm-thoughts/animated-timeline.md): A career timeline where each month is a cell in a modified Game of Life - [Colocating Auth Responsibilities | DJ Petersen](https://www.thedjpetersen.com/llm-thoughts/beyond-cloud-auth.md): How moving authentication into Beyond Cloud simplified the auth boundary across the 33-ish sites and apps I keep building. - [Building a Resizable Drawer | DJ Petersen](https://www.thedjpetersen.com/llm-thoughts/drawer.md): How the resizable, stackable drawer system on this site works - [Building a Generic Entity Relationship System: Database to React | DJ Petersen](https://www.thedjpetersen.com/llm-thoughts/entity-relationship-system.md): How we built a universal relationship system that automatically connects clusters, workflows, users, and organizations - from PostgreSQL schema to React components. - [Replacing Cloud Kubernetes with Home Mini PCs | DJ Petersen](https://www.thedjpetersen.com/llm-thoughts/home-hosted-mini-pc-cluster.md): Replacing a recreated Hetzner Kubernetes bill with a stack of home mini PCs, and the concrete architecture changes required to make that trade work. - [HTML Linter in Rust | DJ Petersen](https://www.thedjpetersen.com/llm-thoughts/html-linter.md): Building a powerful HTML linter in Rust - [The Three-Variable Theme: Deconstructing Linear's System | DJ Petersen](https://www.thedjpetersen.com/llm-thoughts/linear-theme.md): How Linear generates their entire UI theme from just three variables: base color, accent color, and contrast level. - [A Mini PC Cluster Bill of Materials That Ages Well | DJ Petersen](https://www.thedjpetersen.com/llm-thoughts/mini-pc-cluster-bom-that-ages-well.md): A durable way to buy a three-node mini PC cluster: specify the hardware class, set a delivered-price ceiling, and treat marketplace listings as dated evidence. - [A Reproducible One-Weekend Event Site | DJ Petersen](https://www.thedjpetersen.com/llm-thoughts/one-weekend-event-site.md): How to make a beautiful, private-ish event page with RSVP capture, then turn it into a redacted thank-you note and delete the temporary infrastructure. - [How Claude Code and I Built a €18/Month Kubernetes Platform | DJ Petersen](https://www.thedjpetersen.com/llm-thoughts/own-infrastructure-part-1.md): 239 commits, 83 days, one AI copilot. The full story of building a production Kubernetes platform on Hetzner — from a €13.50 dream through a $100+ autoscaling bill to a stable €18/month. - [Private Links Are Not Auth | DJ Petersen](https://www.thedjpetersen.com/llm-thoughts/private-links-are-not-auth.md): A technical incident note on private-link form endpoints: what failed, why it mattered, and how token checks, rate limits, and audit logs reduced the risk. - [LLM Prompts | DJ Petersen](https://www.thedjpetersen.com/llm-thoughts/prompts.md): A curated library of LLM prompts for coding, debugging, architecture, writing, and more. - [Capitalize for Emphasis | DJ Petersen](https://www.thedjpetersen.com/llm-thoughts/prompts/capitalization-for-emphasis.md): Does capitalizing words for emphasis actually work, or is it placebo? Consensus leans toward: it works. CAPITALIZED words signal priority and weight to the model. - [The Careful Coder's Manifesto | DJ Petersen](https://www.thedjpetersen.com/llm-thoughts/prompts/careful-coders-manifesto.md): Operating principles for agentic code intelligence — measure twice, cut once. - [Code Quality Auditor Framework | DJ Petersen](https://www.thedjpetersen.com/llm-thoughts/prompts/code-quality-auditor.md): Structured 3-phase audit prompt for identifying and eliminating quality-lowering patterns. - [Code Smells from First Principles | DJ Petersen](https://www.thedjpetersen.com/llm-thoughts/prompts/code-smells-first-principles.md): Why code smells exist, grounded in cognitive science and information theory. - [Give Me Five Directions | DJ Petersen](https://www.thedjpetersen.com/llm-thoughts/prompts/divergent-directions.md): When you're stuck on what to build or how to approach a problem, ask for five wildly different directions — not variations on a theme. Forces the model out of its clustering tendency and into genuinely divergent territory. - [Edge Cases You Didn't Consider | DJ Petersen](https://www.thedjpetersen.com/llm-thoughts/prompts/edge-cases-after-plan.md): After plan mode, force the model to audit its own blind spots. It's silly that it works, but it does — asking the model to reflect on what it missed surfaces real gaps. - [Two Things That Make Code Maintainable | DJ Petersen](https://www.thedjpetersen.com/llm-thoughts/prompts/maintainable-code-two-things.md): Wise words from the best systems engineer I've worked with. Reduce the layers a reader has to trace and the state they have to hold in their head. Applies to every codebase. Always. - [Meeting Transcription Context | DJ Petersen](https://www.thedjpetersen.com/llm-thoughts/prompts/meeting-transcription.md): Transform meeting transcriptions into publication-quality documentation with decisions, action items, and reasoning. - [Critique This Prototype | DJ Petersen](https://www.thedjpetersen.com/llm-thoughts/prompts/prototype-critique.md): After you've built something, have the AI tear it apart — not as a code reviewer, but as a product thinker. What assumption is each screen testing? Where does the vision leak? High fidelity can mask the absence of shared understanding. - [The Prototype Interview | DJ Petersen](https://www.thedjpetersen.com/llm-thoughts/prompts/prototype-interview-kickoff.md): Before writing a line of code, have the AI interview you about your vision. 50 rapid-fire questions extract design decisions and judgment you didn't know you had — then the model can one-shot a working prototype roughly aligned with the picture in your head. - [Prototype to Production | DJ Petersen](https://www.thedjpetersen.com/llm-thoughts/prompts/prototype-to-production.md): The prototype works and the concept is validated — now harden it for production. This prompt walks through the unglamorous work of turning a vibe-coded draft into code you'd actually ship. - [Make It Simpler and Dumber | DJ Petersen](https://www.thedjpetersen.com/llm-thoughts/prompts/simpler-and-dumber.md): Push back on over-engineering by asking for the dumbest possible solution that still achieves the goal. Models tend toward complexity — this resets the bar. - [Right-Sizing an Idle Kubernetes Platform | DJ Petersen](https://www.thedjpetersen.com/llm-thoughts/right-sizing-idle-kubernetes-platform.md): How an idle Talos Kubernetes cluster was reduced from long-lived autoscale spend to a static baseline, and what that implies for capacity policy, GitOps, and future platform design. - [The Three-Node Kubernetes Cluster I'd Buy in August 2026 | DJ Petersen](https://www.thedjpetersen.com/llm-thoughts/seattle-mini-pc-cluster-bill-of-materials.md): The easiest low-friction home Kubernetes build: three matching refurbished HP mini PCs, k3s, simple storage, and an honest price comparison. - [So Close: The Near Nirvana of Hono and Cloudflare Workers | DJ Petersen](https://www.thedjpetersen.com/llm-thoughts/so-close.md): Cloudflare's stack is powerful but lacks the integrated developer experience of past platforms. Here's why. - [This Website | DJ Petersen](https://www.thedjpetersen.com/llm-thoughts/static-site.md): A simple and sweet explanation into how this website was built. - [The Cmd-K Input Was Fine. The Search Architecture Wasn't. | DJ Petersen](https://www.thedjpetersen.com/llm-thoughts/the-cmd-k-input-was-fine.md): A reproducible lab for profiling Codex desktop Cmd-K, separating action, metadata, and content search, adding bounded typo recovery, and safely rebuilding a version-locked Electron ASAR. - [Day/Night Theme Toggle | DJ Petersen](https://www.thedjpetersen.com/llm-thoughts/theme-toggle.md): Creating a delightful day/night theme toggle animation - [When Virtualization Lies | DJ Petersen](https://www.thedjpetersen.com/llm-thoughts/when-virtualization-lies.md): A Svelte table looked like a framework failure until browser profiling showed the virtualizer was rendering every row because CSS had removed the scroll viewport. - [Privacy | DJ Petersen](https://www.thedjpetersen.com/privacy.md): How DJ Petersen's personal site handles theme preferences, interactive features, service logs, and external links. - [Projects | DJ Petersen](https://www.thedjpetersen.com/projects.md): Things I've built — open-source tools, work systems, and experiments. - [Console Analytics | DJ Petersen](https://www.thedjpetersen.com/projects/console-analytics.md): A lightweight frontend telemetry tracker built for the AWS Management Console. - [Flow Like Water | DJ Petersen](https://www.thedjpetersen.com/projects/flow-like-water.md): A TypeScript library that turns brittle multi-step scripts into resumable state machines with retries and serializable state. - [HTML Linter | DJ Petersen](https://www.thedjpetersen.com/projects/html-linter.md): A Rust CLI and library that lints HTML against JSON-defined rules, published to crates.io. - [Subway | DJ Petersen](https://www.thedjpetersen.com/projects/subway.md): A web IRC client with server-side sessions, plugin hooks, and history that survives disconnects and machine switches. - [Thoughts | DJ Petersen](https://www.thedjpetersen.com/thoughts.md): Personal essays and notes written by DJ Petersen.