The Dream Steps Journal

Working notes on design, technology, and AI.

No fluff. No listicles. Writing from inside the work — for founders, product teams, and marketers who care about getting the details right. We publish what we wish someone had told us before we shipped.

From the journal

AI feature vs AI-first product — which are you building?

An AI feature is a capability added to a product that works without it. An AI-first product is one where, take the AI away, there is no product at all. Knowing which you are building changes the scope, the funding, the risk, and the moat.

Moving from Wix or Squarespace to WordPress — when it is worth it

Site builders are how most businesses get their first website — and a builder that was perfect at launch can quietly become the constraint two years later. When the move to WordPress is worth it, and how to do it without losing traffic.

Why is your Node.js app slow? The event loop, blocking code, and the seven fixes

Node.js is not slow. Slow Node apps are slow because something blocks the single-threaded event loop, or the database is untuned, or async code runs in series when it could run in parallel. Seven fixes, in order of impact.

Why is your Django app slow? The ORM, the queries, and the seven fixes

Django is not slow, and Python is not slow. Slow Django apps are slow because of the same seven decisions on every project — N+1 queries, missing select_related and prefetch_related, missing indexes, no caching, synchronous external calls, and an ORM used without watching the SQL it writes.

Why your AI feature gives wrong answers — and how to stop it

When an AI feature gives a wrong answer in production, the cause is rarely the model being dumb. It is almost always one of five fixable engineering gaps. Here is how to find which one you have — and how to fix it.

What to automate with AI — and what to leave to rules

The mistake teams make with AI automation is not being too cautious. It is automating the wrong things — pointing an expensive model at work that rules did better, while leaving the hard judgment work manual. Here is a framework for deciding.

What is a vector database — and does your product need one?

A vector database stores text as numerical embeddings and finds items by meaning rather than by matching keywords. If your AI feature needs to answer from your own content, you almost certainly need one. Here is what it does, where it fits, and what your real options are.

Serverless vs containers — which should you deploy on?

Serverless and containers are the two main ways to deploy a backend, and the choice has real consequences for cost, speed, and how much your team has to operate. Neither is universally better — the workload decides.

Rewrite vs refactor — should you rebuild your software from scratch?

A full rewrite is the most appealing idea in software, and one of the most dangerous. Refactoring is less exciting and far more likely to succeed. Here is how to tell which one your situation actually calls for.

Why your cloud bill keeps growing — and how to bring it down

A cloud bill rarely grows from one big mistake. It grows quietly, from a handful of recurring causes nobody is watching — until finance asks why the number doubled. Those causes are well known, and genuinely fixable.