- My Ridiculous AI-Assisted Development Workflow
A walkthrough of the system I use to ship code with AI agents—from planning in Linear to worktrees, linting gauntlets, and a small army of code review bots.
- Faster Temporal Workflow Bundling with esbuild
A drop-in replacement for @temporalio/worker's bundleWorkflowCode that swaps Webpack for esbuild—delivering 9–11x faster builds and 94% less memory usage.
- Prompt Engineering with OpenAI, Anthropic, and Gemini
A practical guide to reliable prompts across major LLM APIs, including provider differences, trust boundaries, and production workflows.
- Introducing Prose Writer
A little TypeScript library for building Markdown-friendly strings without template literal sprawl.
- Cursor Rules for Writing Temporal Workflows with TypeScript
Essential guidelines and best practices for writing reliable Temporal workflows in TypeScript, covering serialization, determinism, and workflow patterns.
- Cursor Rules for TypeScript Engineers
A collection of some potentially useful Cursor rules as well as a rundown of what potentially makes a Cursor rule great.
- Using Anthropic's Message Batches API with Temporal
Build scalable, cost-efficient AI processing with Anthropic's Message Batches API and Temporal workflows.
- The Hidden Dangers of Counterfactual Reasoning in AI
A paper review about why counterfactual reasoning becomes fragile and chaotic in complex AI systems.
- Getting the Most Out of GPT-4.1
A naïve guide to get the most out of GPT-4.1: context window optimization, coding tips, prompt best practices, and when to choose GPT-4.1 over GPT-4.5.
- Neural Networks
A friendly intro to neural networks, what they are, how they learn, and why they matter for software engineers exploring the world of generative AI.
- A Gentle Introduction to Using a Vector Database
In which we learn how to build a simple vector database using Pinecone and OpenAI embeddings, and discover it was way easier than we might have expected.
- Setting Up a Python Environment on macOS
A brief guide for getting started writing Python on a Mac using virtual environments.
- Implementing Obsidian's Callout in Svelte
A gentle walkthrough where we build our take on Obsidian's callout component in Svelte.
- Tailwind for Design Systems: Benefits and Alternatives
Is Tailwind the best choice when building out a design system? It depends.
- Creating a Markdown Preprocessor for Svelte
Let's look at how to write our own preprocessor for SvelteKit.