August 31, 2026
7 min read
Operator Log
GTM

Operator Log 1: Running a portfolio from the terminal

The first public receipt for Vibes: Terminal GTM. How a solo founder uses a terminal portfolio cockpit - goals, reaches, ownership, instrumentation, and stop rules - plus an honest baseline, not a win.

Daan Pruijssers
Daan PruijssersAI Builder
Operator Log 1: Running a portfolio from the terminal

This is Operator Log 1 for Vibes: Terminal GTM. It is a receipt from the operating loop, not a lesson plan and not a proof that the method works.


Objective

Make the whole portfolio legible from a terminal so a solo founder only spends time on work that serves a named goal.

The cockpit has to answer, in one sitting: what is the goal, which public surface is supposed to move it, who owns that surface, what would turn red, and which stop rule kills the work if it is not paying rent. If those questions take a slide deck, the cockpit has already failed.

Vibes: Terminal GTM is the public narrative of that loop. It is not a sixth goal, not a Shyft product, and not a community platform.


Workflow

A typical pass looks like this:

  1. Open the terminal cockpit.
  2. Read the goals. Each one has a measure, a date, and a provenance. Work that cannot name a goal does not get a slot.
  3. Read the reaches that serve those goals: the public surfaces, their live tests, and the milestones on the hook.
  4. Read ownership. If the owner is not me, I do not quietly become the owner by answering a ping.
  5. Read instrumentation. A goal with no live test is a wish. A live test that cannot go red is decoration.
  6. Read the stop rules. Time cap, audience mismatch, other GTM declining, content turning into a curriculum. If a stop rule is already true, the honest move is to stop, not to rebrand.
  7. Do one piece of goal-bearing work. Log what happened, including the miss.

The log is the product of the loop. The public version of the log is this series. Private operational identifiers stay private.


Redacted artifacts

A cockpit snapshot, with secrets, customer rows, and private identifiers stripped:

goal     G1   dated revenue goal            [measure redacted]
reach    daan.sh   founder-led Terminal GTM home
live     qualified waitlist | inbound that cites this content
owner    Daan
instr    waitlist replies that name product, buyer, bottleneck
stop     3h/week x2 | other GTM declines | aspiring-builder audience | curriculum | gate miss
ids      [redacted]
secrets  [none in this snapshot]

That is the shape. It is not a dashboard screenshot, because a screenshot would include identifiers this log is not allowed to publish.


Observed baseline

Before this slice, daan.sh had no public Terminal GTM route. The Vibes project card and footer link pointed at the generic contact page. There was no qualified waitlist path that asked for product, buyer, and distribution bottleneck.

Observed, not hoped:

  • Public Vibes: Terminal GTM route: absent, then created in this slice.
  • Qualified waitlist members who named a product and a buyer: zero. The form did not exist.
  • Inbound conversations that cited Terminal GTM content: zero. The content did not exist.
  • Followers, impressions, and views: not measured here, and they would not count toward the gate if they were.

This is a baseline, not a result. I am not going to dress zero as traction.


Failure and constraint

The binding constraints are already visible:

  • Three hours a week, or the experiment shrinks to a public log. Two consecutive weeks over the cap and it stops.
  • No waitlist or member PII in portfolio product databases. That is why the action is mailto: on the existing email path, not an account.
  • No analytics vendor, Skool integration, social ingestion, or new runtime service in this slice.
  • No claim that the method guarantees customers, revenue, or category leadership. A log that only publishes wins is marketing. This one starts at zero on purpose.
  • If the people who reply are first-time builders, vibe-coding students, or prompt-pack collectors, that is a stop rule firing, not a warm audience.

The likely failure mode is not "the page 404s." It is that the experiment quietly becomes a course, or that I spend the hours here while other GTM stalls.


Next experiment

Ship the public Vibes: Terminal GTM route. Point the existing Vibes links at it. Treat a mailto reply as qualified only when it names a product, a buyer, and a current distribution bottleneck.

The next log will report whatever is actually true: replies, misses, and whether the three-hour cap held. If the audience is the anti-ICP, the honest next step is to stop, not to widen the funnel.