Articles

Lessons from building in the open: what worked, what didn't, what I'd do differently. They land here first, then in the newsletter.

  • Lovable alternatives sort by what sent you looking. Bolt and v0 give you the same prompt-to-app loop on a different runtime; Base44 takes the backend off your hands; Dyad runs the loop free and local with your own model keys; and Cursor or Claude Code, opened on the GitHub repo Lovable already synced, keep the app and change only how you edit it. That last one costs nothing to try, because you already own it.

  • A pivot is often just the polite word we use with investors when the first company is dead and we have decided to build another one. And that is fine. Not because failure is noble, but because luck needs exposure: every market you enter, every product you ship and every channel you test is one more surface where something unexpected can land.

  • A cold email subject is the shortest true description of the one thing you are asking for. Not a hook, not a curiosity gap: a label. Its job is to filter, so the people who open are the people who could plausibly say yes, and everyone else deletes it from the list view without ever costing you anything.

  • D-RAG, in the AI sense, is Differentiable Retrieval-Augmented Generation: a method published at EMNLP 2025 that trains the retriever and the generator of a knowledge-graph question-answering system together, by letting the generator's answer loss flow back into the retriever. The other results for this query are a headwear spelling, a rapper, and a 2024 LinkedIn post that reused the acronym for something else.

  • Ecommerce marketing automation is the set of messages a store sends because of what a customer did, not because of what day it is: a checkout left open, a first order, a product viewed twice. For a one-person store the tools are cheap and the setups are templated, which is exactly why they fail in the same handful of ways. Here are the eight that come up most, with the mechanism behind each and the fix.

  • LinkedIn's Post Inspector, at linkedin.com/post-inspector, reads a URL the way LinkedIn's crawler does and clears the preview LinkedIn had stored for it, so your next share picks up the tags currently on the page. That is the whole job: it refreshes, it does not validate. When the preview is still wrong after you run it, the cache was never the problem. The image you shipped is.

  • An OpenClaw alternative is worth switching to only if it keeps the part you wanted, an agent that acts while you are asleep, and drops the part that should worry you, one always-on assistant holding every credential you own. Three shapes are on offer: another general assistant, a self-hosted workflow runner, or a narrow agent with a scheduled trigger and a single exit door.

  • Follow up on a cold email only when you can add one fact that did not exist when you sent the first one. Not a bump, not a polite reminder that you are still waiting: something the reader did not know before. Two follow-ups written that way beat six written in advance, because a sequence drafted before you send can only ever report that time has passed.

  • The right Repl.it alternative depends on which of Replit's four jobs you are replacing: the agent that writes the code, the browser environment, the always-on hosting with a public URL, and the bundled Postgres. Most disappointing switches come from swapping one of the four and discovering the other three were the part you actually relied on.

Get ahead.

Get the best articles, carefully selected to save you time.

Featured

A pivot is often just the polite word we use with investors when the first company is dead and we have decided to build another one. And that is fine. Not because failure is noble, but because luck needs exposure: every market you enter, every product you ship and every channel you test is one more surface where something unexpected can land.

Projects

Brands

The essentials, by email.

What works, what does not, what I would do differently. Sent when I have something useful to say.