My First Trip to Seattle: What YouTube Didn't Tell Me
We walked 20,000 steps across Seattle and ended the night in the back of a police car. Here's the rest of my first week in the city.
- travel
Notes on software engineering, AI, web design, and helping small businesses grow online, plus anything else I'm learning along the way.
We walked 20,000 steps across Seattle and ended the night in the back of a police car. Here's the rest of my first week in the city.
My site paid $30 a month for cold starts it didn't need. How I prerendered every page, moved to Cloudflare Workers, and cut time to first byte to 183 ms.
Edge functions promise faster responses by running code near your users. Here's what works at the edge, what doesn't, and when the latency matters.
A clear brief is the difference between a project that runs smoothly and one that goes sideways. Here's what to include and what to leave out.
SSR, SSG, SPA: your rendering strategy decides whether Google can find and rank your pages. Here's the technical side of SEO for developers.
You don't need a design agency to create a cohesive visual identity. Here's how to build a polished brand look with free and low-cost tools.
Publishing what I learn has compounded into the most valuable habit of my engineering career. Here's how it works and why you should start.
Accessibility isn't a feature you bolt on at the end. Here's how to build ARIA-compliant UI components without relying on a component library.
Feature flags aren't just for A/B tests. They're a deployment safety net, a debugging tool, and the key to shipping faster with less risk.
Side projects aren't just hobbies. They're the fastest way to learn new skills, build a portfolio, and open doors that your day job can't.
SvelteKit lets you mix SSR, SSG, and client-side rendering on a per-route basis. Here's when to use each approach and how to combine them effectively.
The gap between a client's vision and a buildable project is where most engagements go wrong. Here's how to bridge it without jargon, scope creep, or surprises.
The most reliable systems I've built use the most boring tools. Here's why proven technology beats shiny frameworks, especially for solo devs and small teams.
Your Google Business Profile might be more important than your website for local search. Here's how to set it up right and use it as a real marketing channel.
Moving from console.log to structured, queryable logs transformed how I investigate production issues. Here's the practical shift and why it matters.
Your brand voice is how your business sounds in every headline, email, and page of your website. Here's how to find yours and keep it consistent.
Most engineers have more to share than they realize. Here's how to start writing technical content that's clear, useful, and actually gets read.
Why search is worth a local business's time, and the specific tactics that help you show up when nearby customers are looking.
After a full year of building with Svelte 5's runes syntax in production, here's what worked, what surprised me, and what I'd tell someone starting today.
Retrieval-augmented generation is the default architecture for knowledge-grounded AI. But it fails in ways most teams don't anticipate until production.
Your website might be turning customers away without you knowing it. Here are five common problems and how to fix each one.
Tool calls are the most fragile part of agentic LLM workflows. Here are patterns that make them predictable: schema design, validation, and retries.
Pageviews are vanity metrics. Here are the numbers that actually tell you whether your website is helping your business grow.
Thin wrappers around LLM APIs aren't defensible products. Here's why they fail and what to build instead.
Social media gets the attention, but email quietly delivers the conversions. Here's how a small business can build a list that drives revenue.
Prompts are production artifacts. They deserve version control, testing, review processes, and deployment strategies, just like any other code you ship.
Custom build or template? Breaking down the true costs, tradeoffs, and decision points so you can invest wisely in your business's online presence.
Most teams ship LLM features without systematic evaluation. Here's when evals matter, how to keep them lightweight, and how to catch regressions early.
Why debugging AI systems is less about fixing errors and more about auditing decision-making.
How I rebuilt my personal site from the ground up with a custom design system and a component-driven workflow.
What I learned designing an agentic AI system to prioritize and forecast spending, with guardrails that keep it explainable, auditable, and context-aware.
Why I moved from a serverless SvelteKit backend to a standalone Go service, and what I gained from the split.
Exploring the tradeoff between single-prompt convenience and step-based control when designing LLM-powered features.
A look back at the AI side projects I built in 2025 and the technologies that shaped how I think about shipping AI into production.
A spring rebuild of my website in Svelte 5, and how its new features and modern patterns left the codebase cleaner and more efficient.
Learn how to build a more maintainable, testable, and resilient software system using Onion Architecture.
Growth as a software engineer comes from running toward the unknown. Here's how I take ownership of hard problems and break them into steps.
Explore the aromatic world of coffee in software engineering, from the allure of fresh brews to the corporate dramas over the coffee machine.
Discover the key ingredients that turn your business into a customer magnet.
Explore the strengths of Instagram, Facebook, and Google advertising to determine the best fit for your business.
Why a website still matters for a small business, from the cafe to the bowling alley, and how to take your business online without the overwhelm.