Blog

Public writing from the operator side.

Essays, product strategy, portfolio framing, and the sharper edge of the monolith story.

Mar 24, 2026 6 min read

LiteLLM got hit by a supply chain compromise. If you updated, treat the machine as burned.

LiteLLM versions 1.82.7 and 1.82.8 were publicly flagged as compromised on March 24, 2026. The public record points to credential theft, automatic execution via a .pth file on 1.82.8, PyPI quarantine, and a maintainer-account compromise ugly enough that any affected machine should be treated like an incident-response problem, not a package-bump problem.

Mar 24, 2026 3 min read

A GTM engine needs an execution spine

A creator product is still weak if it can rank the next move but cannot remember whether that move was launched, delayed, delegated, or ignored.

Mar 24, 2026 2 min read

A queue without resolution is still theater

A ranked inbox is not enough. If creators cannot claim, close, and reopen pressure inside the same system, the product is still exporting the real decision somewhere else.

Mar 24, 2026 3 min read

One GTM engine means one agenda

A creator product is still weak if weekly bets live in one queue and owned audience pressure lives in another. One GTM engine needs one operating agenda.

Mar 22, 2026 4 min read

Shared auth is weak without app activation

Most product portfolios stop at shared login and call that platform work. That is weak. A real multi-app monolith needs explicit app activation or the access model rots before the portfolio compounds.

Mar 21, 2026 4 min read

How a coding agent deployed this Laravel monolith end to end

A practical breakdown of using a coding agent to create a Laravel monolith, provision a VPS, lock down Tailscale, configure Dokploy, wire DNS, verify Resend, and ship a live site without splitting the system into fake complexity.

Mar 21, 2026 3 min read

Creator software needs a cockpit, not an analytics tab

Most creator software reports what happened after the window for leverage already passed. A real creator product needs a cockpit that converts live campaign truth into the next move, not another analytics tab.

Mar 21, 2026 4 min read

How coding agents can run a real app cutover from Supabase to a Laravel monolith

A real app cutover is not code generation. It is source freezing, production import, ingress control, DNS timing, provider state capture, and enough narrative discipline to turn the work into repeatable operator leverage. This is how the RankWar migration into the lmachine Laravel monolith was actually run.

Mar 21, 2026 3 min read

How coding agents should run a public DNS cutover without public debugging

A real cutover is not done when the new app renders. It is done when public DNS, public TLS, and public smoke checks converge on the new runtime. This is how RankWar moved from a Next.js and Supabase stack into the lmachine Laravel monolith without turning the internet into the staging environment.

Mar 21, 2026 5 min read

Why a waitlist should be a GTM engine, not a signup form

Most waitlists are dead-end forms with nicer branding. The winning move is to turn the waitlist into a GTM engine that captures proof, recruits distribution, and helps the creator ship pressure instead of vanity metrics.

Mar 21, 2026 3 min read

Why RankWar belongs inside the monolith, not beside it

RankWar is not a generic waitlist app to preserve as-is. It is a status-and-distribution engine that should move into the lmachine monolith on top of shared identity, domains, and activation rather than stay trapped in its Supabase-era naming.