
Updated: July 25, 2026
At some point in most consulting careers, you notice you're doing the same thing over and over for different clients. Some people ignore it. Some people build a product. Here's what that transition actually looks like - the pricing, the awkward middle where you're doing both badly, and the parts that will never productize no matter how hard you try. read on »

Updated: July 11, 2026
You can ship code for weeks and still learn nothing. A real MVP is the smallest thing that creates evidence-about buyers, demand, and what actually works. Here’s how to use AI for scripts, landing pages, concierge ops, and fake doors without turning your "MVP" into a polished demo for a problem you made up. read on »

Updated: July 11, 2026
AI can crank out landing pages, emails, and charts all day. It can even crank out signups. The trap is thinking volume means progress. I once worked at a "AI-powered" SaaS where the model was basically spreadsheet column mapping, but the dashboard still looked great. This post is about keeping yourself honest: cohort metrics, boring innovation accounting, and using AI for synthesis-not for the math that decides what’s real. read on »

Updated: July 11, 2026
Model choice doesn’t close deals. Pragmatist buyers want the app to install cleanly, docs that match reality, integrations that survive API changes, and support that answers before their CFO starts yelling. This post breaks down the "whole product" layer most AI startups skip-and how LLMs can help you ship the boring parts without lying to customers. read on »

Updated: July 11, 2026
AI makes it weirdly easy to ship a "feature" that’s really ten changes glued together. The diff is huge, the vibes are good, and then you deploy and realize you built a large batch with extra steps. This post is a reminder that small batches are a discipline: one hypothesis, one change, one metric, and a rollback plan. Use AI to shrink the loop from assumption to evidence, not to crank out a feature cannon you can’t validate. read on »

Updated: July 11, 2026
AI makes pivots feel easy because it can repaint your strategy in an afternoon. New landing page, new deck, new positioning doc, and you’re still wrong-just in three new fonts. This post walks through Eric Ries’ ten pivots with the AI-era failure modes, plus the one ritual that still matters: real evidence, real dissent, and a decision record you can’t wiggle out of later. read on »

Updated: July 11, 2026
Perplexity is sending me buyers, but the "SERP" they see is a paragraph with two citations. If your positioning can’t survive being compressed, the assistant will guess what you do - and it’ll guess the boring, generic version. This post is a playbook for writing answer-shaped pages that humans can decide from and assistants can quote without turning you into SaaS mush. read on »

Updated: July 11, 2026
Founders aren’t getting replaced by AI. They’re getting buried under it. One day you’re "moving fast," and the next your real product is wedged between Notion, Slack, a shaky CRM, and a Google Sheet nobody will admit they own. This post is about the fix: a boring operating cadence-weekly learning reviews, monthly pivot checks, and real customer calls-so AI supports your startup instead of turning your toolchain into the startup. read on »

Updated: July 11, 2026
Founders rarely pick the wrong customer in one clean mistake. They do it slowly, while the ICP deck gets prettier and the pipeline stays empty. This post is about customer selection as the load-bearing decision, the "death flailing" signs that show up when you dodge it, and how to use AI for narrow tasks (scenarios, assumptions, clustering) without letting it turn your research into vibes. Also: keep the raw notes, use boring tools, and ask questions that force real answers. read on »

Updated: July 11, 2026
AI helps you ship faster, but it doesn’t make you mainstream-ready. Early adopters will forgive chaos. Pragmatists want integrations, uptime, support, and a plan that won’t blow up their week. Use AI to map segments, tighten messaging, synthesize interviews, and prep objection answers-but don’t confuse a slick demo with reduced risk. The chasm is still there. You just hit it at higher speed. read on »

Updated: July 11, 2026
Learn how to analyze your personal logs and data with honesty and objectivity to gain meaningful insights, identify patterns, and make better decisions based on your actual behavior rather than perceived habits. read on »

Updated: July 11, 2026
AI can crank out landing pages, dashboards, and "market research" before lunch. None of that answers the only question that matters: will someone pay for this. Use models for drafts, compression, and internal glue work, but don’t let autocomplete-with-confidence replace judgment, taste, and five uncomfortable conversations with real buyers. read on »

Updated: June 29, 2026
Your app still has one job: store data, fetch it fast, and stay honest about "correct." The modern "database" is a stack-primary store, a few specialists, plus cache-so you don't melt your main DB. This post walks through Postgres, MySQL, Mongo, vectors, and Redis, then lands on a boring 2026 default for most SaaS: Postgres + JSONB + pgvector + Redis. read on »

Updated: June 29, 2026
AI can crank out code fast. Then you blink, and nobody remembers what changed or why. This post argues that Git-not your assistant-is the real memory: commits as checkpoints, branches as experiments, PRs as the paper trail. It also breaks down where to host your repo (GitHub, GitLab, Bitbucket, or self-hosted) and what actually matters if you want AI speed without AI chaos. read on »

Updated: April 14, 2026
Buying a domain feels like ownership until you touch DNS and learn you're renting a name glued together by caches. This post breaks down registrars vs registries, the DNS record types that matter, why TTLs make "propagation" feel random, and the silent failures that take down email or login with zero warnings. Includes a practical pre-change checklist and a clear look at what Cloudflare adds beyond basic DNS. read on »

Updated: April 14, 2026
AI makes it easy to ship code fast-and to paste secrets into the wrong place even faster. This post is a blunt tour of the boring security habits that keep working: password managers and MFA, real secret handling (not "temporary" hardcodes), least-privilege access, and a simple rule for LLMs: treat prompts like support tickets and sanitize before you paste. read on »

Updated: June 29, 2026
You can tell how a team ships software by how they talk about servers. VMs are "the server": heavy, isolated, and long-lived. Containers are "spin up another instance": fast, repeatable, and disposable. This post breaks down the real tradeoffs, shows a minimal Flask Dockerfile, and explains why predictable environments, loud failures, and easy rollbacks matter more than ideology. read on »

Updated: June 29, 2026
Kubernetes gets recommended like a vitamin, but it's closer to a chainsaw: great for real operational problems, a mess for small apps. This post breaks down what K8s actually does, the core objects that trip people up, when it earns its keep, and when you should pick something boring like Cloud Run or ECS. It also covers why AI-generated YAML can speed you up-or ship an outage-if you don't understand probes, resource limits, and basic `kubectl` debugging. read on »

Updated: June 29, 2026
LLMs will confidently say "CEO" even after you told them "janitor." That's funny in a chat box. It's not funny once the model has tools like databases, email, and billing. This post breaks down least privilege for AI agents: narrow tools, server-side scoping, short-lived creds, and a simple rollout plan-start read-only, then add write actions one at a time. read on »

Updated: April 14, 2026
MCP makes tool-calling feel clean and standard. It also makes it easy to hand an LLM a remote control for prod. This post breaks down MCP's moving parts, the real failure modes (tool injection, god-tokens, no audit), and the concrete guardrails that keep "automation" from turning into an incident. read on »