<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>Q Blog</title>
        <link>https://heyq.com/blog</link>
        <description>Define your product once. Build everywhere. HeyQ manages product intent so every AI tool knows exactly what you're building. Stop re-explaining. Start shipping.</description>
        <lastBuildDate>Thu, 14 May 2026 15:14:06 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>heyQ Blog System</generator>
        <language>en</language>
        <copyright>All rights reserved 2026, Q</copyright>
        <item>
            <title><![CDATA[The Hard Part of Vibe Coding Isn't Building.]]></title>
            <link>https://heyq.com/blog/the-hard-part-of-vibe-coding-isn-t-building</link>
            <guid>https://heyq.com/blog/the-hard-part-of-vibe-coding-isn-t-building</guid>
            <pubDate>Thu, 30 Apr 2026 11:00:00 GMT</pubDate>
            <description><![CDATA[What building HeyQ with AI taught me about the invisible product work that disappears between sessions.]]></description>
            <content:encoded><![CDATA[*What building HeyQ with AI taught me about the invisible product work that disappears between sessions.*

---

I started building HeyQ because I thought AI had made software development dramatically faster.

That part was true.

Cursor could scaffold a feature in minutes. Claude could help me rewrite a page, debug a broken flow, or think through a confusing UX decision faster than I could have done alone. The distance between *idea* and *working thing* collapsed.

But after a few weeks of building this way, the hard part was not writing code anymore.

The hard part was remembering what I had decided.

Not in some abstract, enterprise-knowledge-management way. In a very concrete founder-building-at-night way:

- What did I say v1 should include?
- Why did I postpone that feature?
- Which positioning line felt sharper yesterday?
- What did Cursor suggest for the next release?
- Why does this flow work this way?
- Did I already decide not to build this?

The code kept moving forward. The product memory did not.

That gap is the reason HeyQ exists.

---

## The moment I noticed the problem

A typical AI build session does not feel like documentation.

It feels like motion.

You open Cursor, describe the thing you want, get a plan, push back on the plan, accept half of it, change your mind mid-way, find a bug, uncover a better approach, defer two ideas, ship one thing, and close the tab.

In that one session, you may have created more than code.

You may have created:

- A scope boundary
- A follow-up release plan
- A rejected architecture
- A better user flow
- A pricing idea
- A positioning sentence
- A decision about what the product is not

But unless you stop and manually extract all of that, it dies in the chat.

I kept seeing this happen while building HeyQ itself. Cursor would propose something useful for v1.0.1. I would think, *yes, later*. Then later never had a place to live. Claude would explain two possible approaches to a product decision. I would choose one, but the reasoning stayed in the conversation. A feature would ship slightly differently than intended, and a week later I had to reconstruct why.

The irony was obvious: I was building a tool for product truth while losing product truth in the process of building it.

---

## AI builders do not have a planning problem

This is where the old PM-tool answer gets the diagnosis wrong.

If you tell a vibe coder, "you need to plan more", they will ignore you - and often they should.

The magic of AI-assisted building is that the plan can emerge through the build. You do not always know the right shape before you start. Sometimes the first implementation is the research. Sometimes Cursor showing you a bad approach is what clarifies the good one.

So the problem is not that AI builders refuse to plan.

The problem is that the planning now happens inside the act of building, and the tools treat that thinking as disposable.

That is a different category of problem.

Traditional PM tools assume product knowledge is created before work begins. You write the brief, break it into tickets, assign the work, and execute.

AI-first development reverses that. Product knowledge is generated during the work:

- You discover what is possible while prompting.
- You discover what is too complex while implementing.
- You discover what matters while trying to explain it to the model.
- You discover what is out of scope when the AI tries to build too much.

In other words: the build process generates the product plan.

But if nothing captures it, the build process also deletes the product plan.

---

## What I kept losing

The most painful losses were not tasks.

They were not things like "add settings page" or "fix OAuth callback." Those are easy to recreate because the code or the bug usually points back to them.

The painful losses were the in-between thoughts - the things that explain why the product is becoming what it is.

**1. The v1.0.1 plan**

AI is very good at saying, "Here is what we should do next after this ships". Those plans are often useful because they come from the current state of the product. But they appear at the end of a session, exactly when you are most likely to close the laptop.

**2. The scope call**

"Not teams yet." "No billing in v1." "This should stay single-player." These decisions are small enough to make casually and important enough to haunt you when you forget them.

**3. The alternative path**

Sometimes Cursor proposes two approaches. You choose one. The unchosen path may still matter later, especially if the chosen approach starts to crack. But the reasoning disappears.

**4. The accidental product insight**

The best product ideas often show up while doing something else. You are debugging a webhook and suddenly realize the onboarding should be different. That insight is not a ticket yet. It is too early. But it is too valuable to lose.

**5. The shipped reality**

AI makes it easy to ship small changes quickly. That means the actual product can drift away from the remembered product. If shipped work does not flow back into the product record, the docs become fiction.

This is the work HeyQ is meant to do: catch the knowledge that appears while building, before it falls through the floor.

---

## This is why we talk about product truth

For a while, I tried to describe HeyQ as a better PM tool for AI builders.

That was close, but not quite right.

The phrase "PM tool" makes people think of tickets, backlogs, prioritization, and process. But the thing I needed most while building was not a prettier backlog.

I needed a durable place for what was true about the product.

Product truth is the layer underneath the work:

- What the product is
- Who it is for
- What is in scope
- What is intentionally out
- What decisions have been made
- What has shipped
- What should happen later
- Why the current shape exists

That layer can produce tickets when you want tickets. It can produce changelogs when you ship. It can feed context to Cursor through MCP. It can help write landing copy. But it is not reducible to any one of those outputs.

The important thing is that it survives the session.

---

## The workflow I actually want

The workflow I want is not "stop building and become a project manager".

It is closer to this:

1. Build in Cursor like normal.
2. Let useful plans, decisions, and scope changes surface naturally.
3. Have Q capture those moments as proposed updates.
4. Review them instead of writing them from scratch.
5. Let future AI sessions read from that living product truth.

That is the core loop.

Not plan → ticket → build.

Build → capture → reuse.

This is what I've started calling **retroactive PM**: the product gets managed as a side effect of building, not as a tax you pay before building.

When that loop works, the product starts compounding. Every build session leaves behind more than code. It leaves behind clearer scope, better decisions, sharper positioning, and more useful context for the next session.

---

## The GitHub bot matters for the same reason

The GitHub Q Bot is not just an automation feature.

It exists because shipped work is one of the most reliable sources of product truth.

A merged PR says: this is now real. But GitHub alone does not know what that means for the product. It knows files changed. It does not know that a user flow changed, a scope boundary moved, or a changelog entry should exist.

The bot is our way of making shipped work flow back into the product record.

You merge. Q summarizes. Q links the work to missions, decisions, and changelog-ready updates. The product memory gets stronger because the product changed.

That is the opposite of how most docs work. Most docs decay when the product changes. HeyQ should improve when the product changes.

---

## The bigger bet

The bigger bet behind HeyQ is simple:

AI-first builders do not need more process. They need memory.

They need a product layer that keeps up with the speed of the build. Something that can start from a messy idea, absorb what happens in Cursor, reflect what shipped in GitHub, and give the next AI session the context it needs without another copy-paste ritual.

Because the bottleneck is moving.

It used to be: can you build the thing?

Now it is: can you keep the thing coherent while AI helps you build it faster than your product memory can update?

That is the problem I ran into while building HeyQ.

And that is the problem HeyQ is here to solve.

---

**Build fast. But do not let the build erase what it teaches you.**

Start a HeyQ project from an idea, a doc, or an existing repo - and let your product truth keep up with your product.]]></content:encoded>
            <enclosure url="https://lclocpewxenoifkrwbgn.supabase.co/storage/v1/object/public/blog_images/352feaab-16bc-43ef-9693-688555a875aa-0.43089161125881004.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Create Product Truth, Not More Tickets]]></title>
            <link>https://heyq.com/blog/create-product-truth-not-more-tickets</link>
            <guid>https://heyq.com/blog/create-product-truth-not-more-tickets</guid>
            <pubDate>Wed, 29 Apr 2026 10:17:00 GMT</pubDate>
            <description><![CDATA[Traditional PM tools track work. AI-first builders need something different: a living product truth AI tools can understand and reuse as the product changes.]]></description>
            <content:encoded><![CDATA[*Traditional PM tools track work. AI-first builders need something different: a living product truth AI tools can understand and reuse as the product changes.*

---

The obvious answer to messy AI-first development is:

> “Just write better tickets.”

That sounds reasonable.

If Cursor forgets what you are building, write a ticket. If Claude suggests something out of scope, write a better spec. If the team loses track of decisions, add more notes. If the product changes during the build, update the backlog.

Simple.

Also wrong.

Not because tickets are useless. Tickets are fine for tracking work.

But the core problem in vibe coding is not that builders lack tasks.

The core problem is that AI tools do not have a durable understanding of the product.

They do not know what is true now. They do not know what changed last week. They do not know which decisions still matter. They do not know which ideas belong in v1, later, or never. They do not know what the product is trying to become unless you explain it again.

A ticket can say:

> “Build onboarding flow.”

Product truth says:

> “This product is for solo AI-first builders. The first session should reach value fast. Team onboarding is out of scope for v1. The user should leave with a usable product truth, not a configured workspace.”

Those are different artifacts.

One tracks work.

The other guides judgment.

AI-first development needs the second one.

---

## Tickets were built for human coordination

Tickets solve a real problem.

A team needs to know:

- What work exists
- Who owns it
- What state it is in
- What needs to happen next
- What has already shipped

That is why Jira, Linear, Asana, and every other issue tracker exist. They are coordination systems.

They were designed for a world where humans needed to hand work to other humans.

A product manager wrote the requirement. Engineers estimated it. Someone assigned it. The work moved across a board. The ticket was the unit of coordination.

That model still matters in many teams.

But AI-first builders have a different problem.

When you work with Cursor, Claude, Lovable, v0, or GitHub Copilot, the immediate issue is not usually “which human owns this card?”

It is:

- “Does this suggestion match the product?”
- “Is this in scope?”
- “What did we decide last time?”
- “Why did we cut this from v1?”
- “What should the AI know before proposing an implementation?”
- “What changed after the last PR shipped?”

Those are not ticket questions.

They are product truth questions.

A board can tell you whether work is in progress.

It cannot, by itself, tell an AI tool what the product means.

---

## AI does not need a prettier backlog

A lot of product software is responding to AI by adding generation on top of the old model.

Generate a ticket.

Generate acceptance criteria.

Generate a summary.

Generate a sprint plan.

That can be useful. But it does not change the shape of the system.

It still assumes the ticket is the center of gravity.

For AI-first work, that is backwards.

The most valuable thing you can give an AI tool is not a longer ticket. It is the product context that lets the AI make better decisions across many tickets, chats, PRs, and future sessions.

The AI needs to know:

- The user
- The problem
- The current scope
- The explicit non-goals
- The decisions already made
- The constraints that should shape suggestions
- The language the product uses
- The difference between v1, v1.0.1, and v2

That information should not be trapped inside one issue.

It should be reusable across every issue.

That is product truth.

---

## Why Jira and Linear are the wrong shape

Jira and Linear are excellent at what they were designed to do: track work.

They are not designed to be a living source of product truth for AI tools.

Their basic object is the issue.

An issue is a container for a piece of work. It may contain context, but the context is usually local to that task. Once the issue is done, the context becomes historical. Useful if you search for it. Mostly invisible if you do not.

AI-first development needs something more persistent.

If you decide “team features are out of scope for v1,” that should not live inside one ticket about onboarding. It should become a scope boundary the AI checks every time it suggests a team-related feature.

If you choose “speed over customization” as a product principle, that should not live inside one Linear comment. It should shape future implementation, copy, onboarding, and roadmap decisions.

If a PR changes the product, that should not just close an issue. It should update what the product truth says is true now.

Traditional PM tools can store these notes.

But storing is not the same as guiding.

The problem is not that Jira or Linear lack text fields. The problem is that their data model treats product knowledge as supporting detail around work, not as the primary artifact every AI tool should read from.

For human teams, the board was the operating layer.

For AI-first builders, product truth is the operating layer.

---

## Why Notion is too loose

Notion is the natural fallback.

If tickets feel too rigid, write everything in docs. Product brief, scope, decisions, roadmap, notes, launch copy, meeting summaries, random ideas. Put it all in Notion and call it a source of truth.

This works for a while.

Then the truth starts spreading.

One page has the old positioning. Another page has the new user segment. A launch doc mentions a feature that moved to later. A decision is buried under a heading from three weeks ago. A teammate adds a note that contradicts the current scope. Claude can read one page, but not the whole system.

Notion is flexible because it is freeform.

That is also the problem.

AI tools need structured, current, reusable context. They need to know which parts are authoritative, which are draft, which are superseded, which are decisions, which are scope boundaries, and which are just notes.

A wiki can hold product truth.

But it does not keep product truth alive.

And unless you add structure, rules, review flows, and propagation, your AI tools are still guessing which note matters.

---

## Why raw chat history fails

The worst source of truth is also the most common one:

AI chat history.

This is where a shocking amount of product thinking now happens.

You ask Cursor to scope a feature. Claude suggests a smaller v1. You decide teams belong in v2. You explore three pricing models. You ask for launch copy. You accept a tradeoff. You make a decision.

Then you close the tab.

Technically, the information still exists.

Practically, it is gone.

Chat history is where product knowledge is generated.

It is not where product knowledge should live.

It is too long, too noisy, too session-bound, and too hard to reuse. The next AI chat does not automatically know which sentence mattered. Your teammate does not know which thread contains the decision. Your roadmap does not know that v2 idea exists. Your GitHub PR does not know which mission it connects to.

The answer is not to save every transcript.

The answer is to extract the product truth from the transcript.

---

## Product truth is the missing layer

Product truth is the living model of what the product is, what it is not, what changed, and why.

It includes things like:

- Vision
- Target user
- Current scope
- Out-of-scope boundaries
- Later ideas
- Product decisions
- Rationale
- Missions
- Roadmap direction
- Changelog-ready shipped knowledge
- Language and positioning

The important word is living.

A static product brief is not enough. A launch plan written once is not enough. A backlog full of tickets is not enough.

In AI-first development, the product changes while you build.

You cut scope in a Claude chat. You accept a smaller implementation in Cursor. You ship a PR that changes the user flow. You discover a better v2 while finishing v1. You move a mission to done and realize the changelog should change.

Product truth has to evolve with all of that.

Otherwise it becomes another stale document your AI tools ignore.

---

## The comparison that matters

The difference is not “HeyQ has AI and Jira does not.”

That is too shallow.

Everyone will have AI.

The real difference is the primary artifact.

### Jira / Linear

Primary artifact: the ticket.

Best for:

- Tracking work
- Managing ownership
- Running team workflows
- Prioritizing backlogs
- Seeing delivery status

Weakness for AI-first builders:

- Product context is fragmented across issues
- Decisions are buried in comments
- Scope boundaries do not automatically guide AI tools
- Shipped work closes tickets but does not necessarily update the product truth

### Notion / docs

Primary artifact: the page.

Best for:

- Freeform thinking
- Writing specs
- Collecting notes
- Creating lightweight wikis

Weakness for AI-first builders:

- Too unstructured for reliable AI reuse
- Multiple pages contradict each other over time
- No clear review flow for truth changes
- No native connection between AI chats, missions, PRs, and shipped product knowledge

### Raw AI chats

Primary artifact: the conversation.

Best for:

- Exploration
- Scoping
- Coding help
- Fast thinking

Weakness for AI-first builders:

- Session-bound
- No durable product memory
- Hard to search and reuse
- Future plans, decisions, and rationale disappear into transcripts

### HeyQ

Primary artifact: living product truth.

Best for:

- Giving AI tools reusable product context
- Capturing decisions and scope as they emerge
- Turning ideas into missions
- Keeping missions connected to product knowledge
- Linking PRs back to what they shipped
- Making product changes reviewable before they become truth

This is the category shift.

Not tickets with better AI.

Product truth that AI can actually use.

---

## A simple example

Imagine you are building onboarding.

In Cursor, you ask for a first version. Cursor suggests a setup wizard with team invites, workspace settings, profile completion, and integrations.

You look at it and realize that is too much.

You decide:

- v1 should only create the first project
- team invites move to v2
- integrations are later
- the first session should end with usable product truth, not workspace configuration

In a ticket-first system, you might update the onboarding ticket.

That helps a little.

But the decision is bigger than the ticket.

It should affect future suggestions about onboarding, team features, activation, pricing, landing page copy, and roadmap scope.

If that decision only lives in an issue comment, the next AI session can still suggest team invites again.

In a product truth system, the decision becomes reusable:

- The scope boundary updates
- The mission reflects what v1 actually includes
- The v2 idea becomes a future mission
- Cursor checks the summarized product truth next time
- Claude can explain why teams are not in launch scope
- The GitHub Q Bot can connect the PR back to the mission
- Q can suggest a changelog entry when the mission moves to done

Same product decision.

Completely different outcome.

---

## “Do I still need tickets?”

Maybe.

But tickets should not be the source of truth.

For many builders, especially solo founders and small teams, the unit of work can be lighter: a mission with enough context to act, connected to the product truth that explains why the work matters.

For larger teams, tickets may still exist. That is fine.

The point is not to ban tickets.

The point is to demote them.

Tickets should be downstream of product truth, not a replacement for it.

Product truth says what is true about the product.

Missions and tickets say what work should happen next.

When the work changes the product, the truth should update.

That loop matters more than the format of the task.

---

## Why this matters more now

Before AI, product context mostly moved through people.

A PM explained the feature. An engineer asked questions. A designer knew the tradeoffs. A founder carried the vision in their head. It was messy, but humans are good at filling gaps.

AI tools are different.

They are powerful, but they are literal. They work from the context they can see. If the product truth is scattered, stale, or hidden in a closed chat, the AI will make plausible guesses.

Plausible guesses are dangerous because they look productive.

The AI will still generate the feature.

It may even generate a good feature.

Just not necessarily the feature you meant to build.

That is why “ship what you meant” requires more than a backlog. It requires a living product truth that every AI tool can consult before it helps you move faster in the wrong direction.

---

## What HeyQ is building

HeyQ is the PM tool for the vibe coding era because it starts from a different assumption.

Traditional PM tools assume the work is the center.

HeyQ assumes the product truth is the center.

You can start from an idea, a doc, a PDF, a URL, a repo, a template, or a blank workspace. Q helps structure the product truth: vision, scope, decisions, boundaries, missions, and history.

Then that truth becomes useful outside HeyQ.

Cursor and Claude can access summarized product truth through MCP, Cursor rules, and skills.

When an idea appears in an AI chat, you can ask the AI to scope it, add it to Q, or turn it into a mission.

When a mission is finished, the AI can update it with actual product knowledge: what the user gains, what changed, and what decisions were made.

When a PR ships, the GitHub Q Bot can connect the code back to the mission.

When workspace activity creates an obvious next step, General-Q can suggest it:

> “You moved this mission to Done. Should we draft a changelog entry?”

That is not more ticket management.

That is product truth staying alive as the product changes.

---

## The bottom line

The future of AI-first product work is not a better backlog.

It is not a prettier ticket.

It is not a giant Notion wiki.

It is not a folder full of chat transcripts.

Those things can hold fragments of the product.

But AI-first builders need the thing underneath them: a living product truth that explains what the product is, what changed, what matters, and what should happen next.

Tickets track work.

Product truth guides AI.

And when AI is helping you build the product, the thing that guides AI becomes the most important artifact you have.

---

**Want product truth instead of more tickets?**

Start with whatever you have — an idea, a doc, a repo, or a shipped product. Q will help turn it into living product truth your AI tools can actually use.]]></content:encoded>
            <enclosure url="https://lclocpewxenoifkrwbgn.supabase.co/storage/v1/object/public/blog_images/352feaab-16bc-43ef-9693-688555a875aa-0.3744566364518669.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Build → Capture → Reuse: The Workflow for AI-First Development]]></title>
            <link>https://heyq.com/blog/build-capture-reuse-the-workflow-for-ai-first-development</link>
            <guid>https://heyq.com/blog/build-capture-reuse-the-workflow-for-ai-first-development</guid>
            <pubDate>Mon, 20 Apr 2026 10:11:00 GMT</pubDate>
            <description><![CDATA[If Retroactive PM names the model, this is the operating loop: build with AI, capture what the work teaches you, and reuse that truth in the next session.]]></description>
            <content:encoded><![CDATA[*If Retroactive PM names the model, this is the operating loop: build with AI, capture what the work teaches you, and reuse that truth in the next session.*

---

The old product workflow was easy to draw.

Plan → ticket → build.

It was not always fun. It was not always fast. But it was legible.

A product manager wrote the requirement. The team broke it into tickets. Engineers built against the tickets. The board showed progress. The plan lived upstream from the work.

Vibe coding breaks that diagram.

A builder opens Cursor with a rough idea, asks for a first pass, changes direction three times, cuts half the feature, accepts an unexpected suggestion, ships the smaller version, and only afterwards understands what the product should have been all along.

That is not a broken workflow.

That is the workflow now.

But it needs a new loop.

Not plan → ticket → build.

> Build → capture → reuse.

This is the practical version of Retroactive PM. It is how AI-first builders keep moving fast without letting every decision disappear into a chat thread.

---

## The problem with stopping at “build”

Most vibe coding workflows have one step:

> Build.

That is the magic and the trap.

You can go from thought to working software faster than ever. You can test ideas before you fully understand them. You can ask Cursor for the version you could not quite explain, then react to what it gives you.

For builders, this feels like freedom.

But a build-only workflow has a hidden failure mode: the product gets smarter, but the product memory does not.

The app changes. The code changes. Your understanding changes.

But the durable product layer stays blank.

So the next time you open an AI tool, you are back to narrating the product from memory:

- “We decided not to support teams yet.”
- “Actually, onboarding changed last week.”
- “The billing flow is weird because we cut subscriptions from v1.”
- “There was a better approach Claude suggested, but I cannot find it.”
- “Cursor gave me a v1.0.1 plan after the last feature discussion. Somewhere.”

The build moved forward. The context did not.

That is why build → capture → reuse matters.

The goal is not to slow down the build. The goal is to make sure the build leaves memory behind.

---

## Step 1: Build

Start where the energy is.

Open Cursor. Open Claude. Open Lovable. Open v0. Start with the product truth you have, even if it is incomplete.

This is important: build → capture → reuse does not mean “start with nothing.”

You still want a baseline:

- Who the product is for
- What problem it solves
- What is in scope now
- What is explicitly not in scope
- What decisions already exist
- What constraints matter

That baseline is your starting product truth.

In HeyQ, that baseline is available to your AI tools through MCP, Cursor rules, and skills. Cursor or Claude can be instructed to check the summarized product truth before they help you scope or build. You should not have to paste your whole product backstory into every new chat.

But the baseline does not need to be perfect before the build begins. In AI-first development, product truth often starts as a rough sketch and becomes sharper because you build.

During the build, your job is not to preserve the original plan at all costs. Your job is to notice when the work teaches you something worth saving.

Useful signals include:

- Cursor suggests a simpler version than the one you planned
- Claude explains a product tradeoff you had not considered
- You cut a feature because it is not needed for launch
- You add an unplanned behavior because it obviously improves the flow
- A bug fix reveals a deeper product rule
- A PR changes what the product actually does
- You find yourself explaining the same context to AI for the third time

Those are not distractions from the work.

Those are the work producing product knowledge.

---

## Step 2: Capture

Capture is the step most builders skip.

Not because they are careless. Because the existing tools make capture feel like paperwork.

If capturing means stopping the build, opening Jira, writing a ticket, choosing an assignee, setting a status, adding acceptance criteria, and pretending this was planned all along — of course builders will not do it.

That is old-world capture.

AI-first capture is different.

You are not trying to document every keystroke. You are extracting the small number of things future-you, your teammate, or your next AI session will need to know.

Capture the things that change the product truth.

### Capture decisions

A decision is any choice that explains why the product is the way it is.

Examples:

- “Teams are out of scope for v1 because solo builders are the first target.”
- “We chose Clerk because speed matters more than owning auth infrastructure.”
- “We are keeping onboarding lightweight because the first session should reach value fast.”

If the decision would help you avoid re-litigating the same question later, capture it.

### Capture scope changes

Vibe coding constantly changes scope.

Sometimes you cut. Sometimes you expand. Sometimes you move something to later.

Examples:

- “No team billing in v1.”
- “GitHub PR summaries are now in launch scope.”
- “Slack notifications move to later.”

Scope changes matter because they are the rules your next AI session should obey. If they stay in your head, your AI will keep suggesting the wrong thing.

### Capture future work

AI sessions are full of future plans.

The problem is that they appear at the worst possible moment: while you are trying to finish something else.

Examples:

- “After this ships, add a better empty state.”
- “v1.0.1 should improve import quality.”
- “v2 should support shared workspaces.”

These should not interrupt the current build. But they should survive it.

If you and Claude decide on a v1 and v2, and you only ship v1, the v2 plan should not die in that chat. Ask the AI to write the follow-up as a mission in Q, or add the idea to the right “later” bucket.

### Capture what shipped

When a PR merges, the product has changed.

That change should not live only in git history.

Capture:

- What shipped
- Why users care
- Which user-facing behavior changed
- Which product decisions were made
- Which scope boundaries changed
- Whether it creates a follow-up
- Whether it is changelog-worthy

This is not about dumping technical implementation details into Q. The code already lives in the repo. What Q needs is the product knowledge: what the user gains, what changed in the product, and what decisions the work created.

This is where Retroactive PM becomes very literal: the work happened, then the product layer caught up.

### Capture open questions

Not everything needs to become a decision immediately.

Sometimes the useful capture is simply:

- “We are not sure whether agencies are a primary segment.”
- “Need to decide whether project templates are onboarding or growth.”
- “Unclear whether this belongs in product truth or missions.”

Open questions are better than invisible uncertainty.

A product truth with known unknowns is healthier than a product truth pretending everything is settled.

---

## Step 3: Reuse

Capture is only valuable if it changes the next build.

Otherwise it is just nicer documentation.

The point of living product truth is that it becomes reusable context for every tool and every session.

Reuse means the next AI interaction starts smarter.

Cursor checks the summarized product truth before suggesting an implementation.

Claude knows teams are out of scope because that decision is in Q.

A mission carries the user-facing reason for a feature, not just a technical task list.

The GitHub Q Bot can connect a PR back to the mission it implements.

A teammate can see the decision without asking you to retell the whole story.

Your landing page reflects the product you actually shipped, not the product you vaguely remember planning.

This is the compounding part of the loop.

A single captured decision is useful.

A hundred captured decisions, scope boundaries, missions, and shipped changes become an operating system for the product.

Every future build gets the benefit of past builds.

That is the entire point.

---

## The loop in practice

Here is what build → capture → reuse looks like in a normal AI-first session.

### Before the session

You start with a lightweight product truth:

- The target user
- The current goal
- The relevant scope boundaries
- The decisions that should constrain the work

You AI tool gets that context through Q: MCP, Cursor rules, or skills tell the AI to check the product truth first.

The goal is not to write a perfect spec. The goal is to give the build a memory before it starts.

### During the session

You build.

Cursor proposes a simpler implementation. You accept it.

Claude points out that a feature you planned creates onboarding complexity. You cut it from v1.

You and the AI decide that v1 should ship now, v1.0.1 should add a refinement, and v2 should handle the larger version.

This is the moment where most product knowledge gets lost.

Not because Q is secretly watching everything you do in Cursor or Claude. It is not.

Because the AI tool you are already using is connected to Q, you can tell it what to do with the product knowledge:

- “Scope this as v1 / v1.0.1 / v2.”
- “Add this idea to Q.”
- “Create a mission for the v2 follow-up.”
- “Update the current mission with what we actually decided.”
- “Summarize the user-facing product knowledge from this feature.”

You do not stop to write a giant document.

You turn the useful parts of the session into product truth while they are still fresh.

### After the session

The product truth catches up:

- The scope page gets a proposed update
- A new mission is created for the follow-up
- The current mission is updated with what actually shipped
- A decision gets logged with rationale
- The shipped PR is connected to a mission - or a mission is created if none exist yet
- The changelog draft has the right language

You review the changes as diffs. Accept what is true. Reject what is noise.

Nothing changes silently.

The product now remembers what the build taught you.

### Next session

You do not start from zero.

The captured truth is available to Q, Cursor, Claude, your teammates, and your future self.

The loop closes.

Build produced knowledge. Capture preserved it. Reuse makes it valuable.

---

## Capture can start from more than code

Not every useful idea appears while you are actively coding.

Sometimes you are thinking through pricing. Sometimes you are planning onboarding. Sometimes you are exploring a marketing idea. Sometimes you are trying to decide whether a feature belongs in v1 or v2.

In those cases, the workflow is still build → capture → reuse, but “build” may mean building the product model rather than writing code.

Open a separate Cursor or Claude chat and ask:

- “Scope this idea against the current product truth.”
- “Is this v1, later, or out of scope?”
- “Turn this into a mission in Q.”
- “Add this as a future idea, but do not change current scope.”
- “Compare this idea to our existing positioning and decisions.”

The point is the same: do the thinking where you naturally do the thinking, then capture the result in Q so it can be reused later.

---

## What to capture vs. what to ignore

A common fear is that this becomes yet another documentation tax.

It should not.

The goal is not to capture everything. It is to capture the things with future value.

A good filter:

> Will this help the next build, the next explanation, or the next decision?

If yes, capture it.

If no, let it go.

Capture:

- Decisions with rationale
- Scope boundaries
- Meaningful product behavior changes
- Future plans you actually want to revisit
- Repeated explanations you are tired of giving
- PRs that change user-facing behavior
- Tradeoffs that would be expensive to rediscover
- User-facing product knowledge discovered while building

Ignore:

- Temporary implementation details
- Random prompt fragments
- Dead-end explorations with no future relevance
- Every tiny bug fix
- Notes that only made sense in the moment
- Documentation for the sake of looking organized

The point is memory, not neatness.

If a captured artifact will not make future work better, it is probably not product truth.

---

## Why “living” matters

A lot of tools can store a plan.

That is not enough anymore.

The plan is only useful if it can evolve when the product evolves.

In vibe coding, product truth is not a stone tablet. It is closer to a live model of what the product currently is, what it is becoming, and why.

That means it has to accept updates from multiple directions:

- From the founder's idea
- From AI chats where scope gets decided
- From missions
- From PRs
- From user feedback
- From the live website
- From the actual product as shipped

If the product truth only reflects what you believed before building, it will become stale almost immediately.

If it updates with every meaningful build, it becomes more valuable over time.

This is the difference between a static source of truth and a living product truth.

Static truth says:

> “Here is what we planned.”

Living truth says:

> “Here is what is true now.”

AI-first development needs the second one.

---

## The role of Q

This is what Q is for.

Q is not just there to help you write better tickets.

That would miss the point.

Q's job is to keep product truth reusable across the tools where AI-first builders already work.

In the build → capture → reuse loop, Q helps in a few specific ways.

### Q gives AI tools the product truth

Any AI toll can connect to Q through MCP, Cursor rules, and skills.

That means they can check the product truth before helping you scope, plan, or build. They do not need you to re-explain the whole product every time.

The product truth becomes the context layer your AI tools call first.

### Q gives the AI somewhere to put product knowledge

When a useful idea appears in a chat, you can ask the AI to add it to Q.

Not as raw transcript.

As structured product knowledge:

- A mission
- A scope update
- A decision
- A future idea
- A changelog-ready note
- An update to an existing mission

This is the capture step. Q does not need to watch everything. It needs to be the place where the AI can put the important parts when you ask it to.

### Q connects shipped work back to missions

The GitHub Q Bot connects PRs with missions.

That matters because a PR is where planned work becomes shipped product behavior. If the implementation changes the product, the mission and product truth should be able to catch up.

Again, the goal is not to store code details in Q. The goal is to preserve the product knowledge created by the code: what shipped, why it matters, and what decisions were made.

### Q suggests the next product hygiene step

There is also General-Q: the Q that understands what is happening inside your account and can suggest useful follow-ups.

For example:

> “Hey, you moved this mission to Done. Should we draft a changelog entry?”

Or:

> “You created three missions around onboarding. Should we group them into an operation?”

This is not Q spying on your coding session. It is Q responding to actions inside your HeyQ workspace and helping you close the loop.

The important part is control.

Q should propose truth changes, not silently rewrite the product behind your back. Builders need speed, but they also need trust.

Reviewable diffs are what make living truth safe.

---

## The workflow is the product moat

At first, build → capture → reuse sounds simple.

It is.

That is why it matters.

The hard part is not drawing the loop. The hard part is making it natural enough that builders actually do it.

Traditional PM tools are built around the old loop. Their data model assumes the work is defined before it happens. A ticket is born in the backlog, travels through statuses, and ends at done.

But AI-first work does not always start as a ticket.

Sometimes it starts as a question.

Sometimes it starts as a prompt.

Sometimes it starts as a PR.

Sometimes it starts as a half-built feature that needs to be understood after the fact.

A product tool for this era has to accept all of those as valid entry points, then turn the useful parts into product truth.

That is the shift.

Not better backlog management.

Better product memory.

---

## The bottom line

AI-first builders do not need more process for its own sake.

They need a loop that matches how they actually work.

Build when building is the fastest way to think.

Capture the decisions, scope changes, shipped behavior, and future plans that should survive the session.

Reuse that product truth so the next build starts smarter than the last one.

That is build → capture → reuse.

Not a ceremony.

A memory system for the vibe coding era.

---

**Want to build this way?**

Start with whatever product truth you have — an idea, a doc, a repo, or a rough plan. Connect your AI tools to Q, build the way you already build, and use Q to capture the product knowledge worth remembering.]]></content:encoded>
            <enclosure url="https://lclocpewxenoifkrwbgn.supabase.co/storage/v1/object/public/blog_images/352feaab-16bc-43ef-9693-688555a875aa-0.6133266434254077.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Retroactive PM: Product Management for Builders Who Build First]]></title>
            <link>https://heyq.com/blog/retroactive-pm-product-management-for-builders-who-build-first</link>
            <guid>https://heyq.com/blog/retroactive-pm-product-management-for-builders-who-build-first</guid>
            <pubDate>Thu, 12 Mar 2026 10:43:00 GMT</pubDate>
            <description><![CDATA[Traditional product management starts before the build. Vibe coding doesn't. So the product layer has to move.]]></description>
            <content:encoded><![CDATA[*Traditional product management starts before the build. Vibe coding doesn't. So the product layer has to move.*

---

For most of software history, product management had a simple assumption baked into it:

First, you decide what to build.

Then you write it down.

Then somebody builds it.

That assumption shaped almost every PM tool we use today. Requirements came first. Tickets came next. Work moved across a board. Shipping was the end of the process.

That made sense when building was expensive.

When code took weeks, meetings were cheaper than mistakes. You wanted to plan before touching the system because touching the system cost real time. A feature spec was not just documentation. It was insurance.

But vibe coding changes the order.

When Cursor can scaffold the first version in twenty minutes, planning no longer has to happen entirely before building. In many cases, it can't. The product is discovered while the builder is already inside the code.

The question is no longer:

> “How do we fully define the work before anyone starts?”

The question is:

> “How do we keep the knowledge generated while building from disappearing?”

That is the job of Retroactive PM.

---

## Traditional PM is front-loaded

Traditional PM is built around a front-loaded workflow:

1. Define the requirements
2. Break them into tickets
3. Prioritize the backlog
4. Assign the work
5. Build against the plan
6. Ship

The plan sits upstream from the build. The work is supposed to conform to what was decided earlier.

That workflow works best when you have multiple teams, expensive coordination, long delivery cycles, and high cost of change. If ten people need to stay aligned for six weeks, the planning layer matters because it prevents everyone from walking in different directions.

But that is not how a lot of AI-first builders work.

A solo founder does not always know the feature before opening Cursor. A two-person team does not always have a sprint plan. An indie hacker might discover the actual product by prompting, deleting, rewriting, and shipping three rough versions in a weekend.

The old workflow says:

> Plan → ticket → build.

Vibe coding often looks more like:

> Build → realize → decide → adjust → ship.

The product thinking is still happening. It just moved.

It moved into AI chats. Into half-finished Claude threads. Into Cursor suggestions. Into PR descriptions. Into the moment where you say, “Actually, v1 should not include teams,” and then forget you said it.

Traditional PM assumes the important decisions happen before the work starts.

Vibe coding proves that many of the important decisions happen because the work started.

---

## The build process generates product knowledge

This is the part that is easy to miss.

When you build with AI, you are not just producing code. You are producing knowledge about the product.

Cursor suggests a smaller v1 than the one in your head. That is product knowledge.

Claude explains two possible architectures and you choose the simpler one because speed matters more than control. That is product knowledge.

You cut a settings page because it is not needed for launch. That is product knowledge.

A PR ships an unplanned improvement that changes the onboarding flow. That is product knowledge.

You decide that teams belong in v2, not v1. That is product knowledge.

None of this looks like a traditional ticket. Most of it is not even a task. But it is the stuff that makes the product coherent.

The problem is that the places where this knowledge appears are terrible places for it to live.

AI chat is not a product memory. Git history is not a product memory. A closed Cursor tab is definitely not a product memory.

They are places where knowledge is generated.

They are not places where knowledge survives.

That gap is what Retroactive PM is designed to close.

---

## What Retroactive PM means

Retroactive PM is the practice of capturing what the build process reveals, turning it into durable product truth, and reusing it across future work.

More simply:

> Build first. Capture what matters. Reuse it next time.

It is not “write tickets after the fact.”

That would be pointless. Nobody needs a beautiful backlog of work that already happened.

Retroactive PM is about capturing the product truth that the work exposed:

- What shipped
- Why it shipped that way
- What changed from the original idea
- What got cut
- What moved to later
- What decision the builder made mid-flow
- What future plan appeared during the build
- What the next AI session needs to know

The artifact is not bureaucracy. The artifact is memory.

A traditional ticket says:

> “Do this work.”

Retroactive product truth says:

> “This is now true about the product.”

That distinction matters.

Because vibe coders are right to reject heavy planning rituals. They do not need to turn every idea into a ticket before they are allowed to explore. They do not need to stop the build so they can perform product management theater.

But they do need the product to remember what the build taught them.

---

## The new loop: build → capture → reuse

Retroactive PM has a different loop from traditional PM.

Not:

> Plan → ticket → build → close.

But:

> Build → capture → reuse.

### 1. Build

You start where vibe coders naturally start: in the work.

You open Cursor. You ask Claude. You try the idea. You generate the first version. You let the product become clearer by touching it.

This is not a failure of discipline. This is the point.

AI makes exploration cheap enough that building can become a form of thinking.

### 2. Capture

As the build creates knowledge, the important parts get pulled out of the places where they would otherwise disappear.

A v2 idea becomes a future mission.

A scope decision becomes a product boundary.

A shipped PR becomes a changelog-ready summary.

A tradeoff becomes a decision log entry.

A changed feature becomes updated product truth.

The capture does not have to interrupt the builder. Ideally, it happens alongside the build — proposed, reviewed, and accepted when useful.

### 3. Reuse

The captured truth becomes useful the next time you build.

Cursor gets better context.

Claude does not need the whole product re-explained.

A teammate can understand why the feature exists.

Your launch copy reflects what actually shipped.

Your roadmap includes the v2 idea that would have died in a chat thread.

This is where the value compounds.

The first capture saves a note.

The tenth capture creates memory.

The hundredth capture becomes a living product model that every tool can work from.

---

## Retroactive does not mean careless

There is an obvious objection here:

> “Isn't this just an excuse to avoid planning?”

No.

Retroactive PM is not anti-planning. It is anti-fake-planning.

Sometimes you know what needs to happen before you build. Great. Write the mission. Define the scope. Give your AI tool the context and let it execute.

But sometimes you do not know yet. Sometimes the fastest way to understand the product is to build a rough version and see what breaks. Sometimes the best product decision appears halfway through a debugging session.

A good product layer should support both modes.

Plan ahead when the plan is real.

Capture retroactively when the truth emerges from the work.

The mistake is pretending all product thinking must happen before code exists. That was never completely true, and AI makes it obviously false.

---

## Why this matters more with AI

Retroactive PM is not just a nicer workflow. It becomes necessary because AI accelerates both creation and forgetting.

A human team might take two weeks to generate ten important product decisions.

An AI-first builder can generate ten in an afternoon.

The velocity is intoxicating. But the memory loss scales with it.

Every new AI session starts colder than it should. Every tool switch drops context. Every unrecorded decision becomes something you have to rediscover later. Every shipped feature without rationale makes the product harder to explain, market, refactor, or hand off.

AI makes the build faster.

It does not automatically make the product more coherent.

In fact, without a product memory, it can make the product less coherent faster.

That is the hidden cost of vibe coding: not bad code, but lost truth.

Retroactive PM is how you keep the speed without letting the product dissolve into chat history.

---

## What HeyQ is building

This is the pattern HeyQ is built around.

HeyQ gives your product a living truth: the vision, scope, decisions, boundaries, missions, and history that describe what the product is and why it is that way.

Q keeps that truth current as you build.

Not by forcing you to write perfect specs before touching code.

Not by turning vibe coding into Jira with better branding.

By capturing the knowledge your build already generates and making it reusable:

- AI chats can become structured updates
- PRs can become missions, decisions, and changelog-ready summaries
- Scope changes can become reviewable diffs
- Future plans can survive the session where they appeared
- Cursor and other AI tools can read from the same product truth instead of starting from scratch

The point is not to slow builders down.

The point is to stop the build process from throwing away its own intelligence.

---

## The bottom line

Traditional PM was designed for a world where planning came before building.

Vibe coding creates a world where building often comes before planning is complete.

That does not eliminate product management. It moves it.

The new product layer has to sit beside the build, not in front of it. It has to capture what changed, what shipped, what was decided, and what should be remembered next time.

That is Retroactive PM.

Build first when that is how you work.

But do not build without a memory.

---

**Want to try Retroactive PM?**

Start a HeyQ project from an idea, a doc, or your existing repo. Build however you build. Q will help turn what you discover into product truth that survives the next session.]]></content:encoded>
            <enclosure url="https://lclocpewxenoifkrwbgn.supabase.co/storage/v1/object/public/blog_images/352feaab-16bc-43ef-9693-688555a875aa-0.4548073602447581.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Do Vibe Coders Even Need a PM Tool?]]></title>
            <link>https://heyq.com/blog/do-vibe-coders-even-need-a-pm-tool</link>
            <guid>https://heyq.com/blog/do-vibe-coders-even-need-a-pm-tool</guid>
            <pubDate>Thu, 12 Feb 2026 13:11:00 GMT</pubDate>
            <description><![CDATA[The most common pushback we hear, answered honestly: no, you don't. But that's not the whole story.]]></description>
            <content:encoded><![CDATA[*The most common pushback we hear, answered honestly: no, you don't. But that's not the whole story.*

---

Every time we show HeyQ to a vibe coder, the same sentence comes back:

*"I'm so fast, I don't always know the direction yet. Writing tickets feels like the old world."*

And every time, we agree.

You're right. You don't need a PM tool.

Tickets, sprints, story points, standups, burndown charts, two-week cycles, t-shirt sizing, grooming sessions — all of it was designed for a workflow you've explicitly rejected. The old workflow assumed planning came before building. Planning was the product. The build phase just executed what the plan already said.

You're not doing that. You're not planning *and then* building. You're planning *while* building. Sometimes you're not planning at all — you're just building until something works, and the plan emerges from what survived.

A tool built for the first workflow has nothing to offer you. So no, you don't need it.

Stop here for a second, because this is the part most product-tool companies skip. They want to argue you back into the old shape. We're not going to.

We're going to argue something different.

---

## You're rejecting two things at once

When a vibe coder rejects Linear (or Jira, or Notion, or whatever), what they're actually rejecting is two separate things bundled together:

1. **The old workflow.** Plan first, build second. Tickets as the unit of thought. Sprints as the unit of time.
2. **The idea of any persistent product layer at all.**

The first one is correct to reject. The second one is the mistake.

Vibe coding doesn't get rid of *thinking*. It changes *when* the thinking happens. The thinking is still there — it's just inside Cursor at 11pm, in a half-finished Claude conversation, in the merged PR that broke a thing you'd already decided was out of scope.

If you reject the old PM tools *and* the idea of any place where product truth lives, you're not free of overhead. You're just running without a memory.

That's a different problem. And it costs more than the one you're trying to avoid.

---

## What you actually lose

Forget tickets for a minute. Forget tools. Just think about the last two weeks.

- Cursor proposed a clean v1.0.1 plan to fix the rough edges of what you shipped. You said "later." That tab is closed.
- You decided, out loud, that v1 doesn't do teams. Then last weekend you started building team auth.
- Claude proposed an architecture for the part of the app you're rebuilding now. You picked the other path. The reasoning was good. Where is it?
- Halfway through fixing a webhook bug, you had a v2 idea you'd kill for. You typed it in the chat. It's gone.
- You shipped a feature on Tuesday. By Friday, you don't remember why it works that way.

None of those are tickets. None of those are tasks. None of those need a status, an assignee, or a sprint.

They're product truth. They're what your product *is*, what it's *for*, and *why it looks the way it does*. They're not the work — they're the layer underneath the work, the layer that makes the work coherent.

A vibe coder who rejects PM tools and rejects any persistent layer is not running fast. They're running with a leaky bucket. The speed is real, but a third of every session is being poured back out.

---

## Tickets are units of work. Product truth is a different layer.

This is the bit that took us a while to articulate, and it's the core of the argument.

A ticket says: *somebody is going to do this thing.* It has a verb. It has an owner. It has a status. It can move from to-do to done.

A product truth says: *this is what the thing we're building is.* It has no assignee. It doesn't move through statuses. It just exists, and gets updated as we learn more.

These are not different sizes of the same thing. They're different *shapes*.

- "Fix the password reset bug" is a ticket.
- "Single-player only in v1, teams come in v2" is product truth.
- "Add Stripe webhook handler" is a ticket.
- "We're targeting indie hackers, not enterprise" is product truth.
- "Refactor the auth middleware" is a ticket.
- "We chose Clerk over rolling our own because we're optimizing for time-to-ship, not infrastructure ownership" is product truth.

Tickets describe motion. Product truth describes the world the motion happens in.

When vibe coders say "I don't need tickets," they almost always mean it. Most of them genuinely don't — they're moving fast enough that breaking work into pre-defined chunks is friction, not leverage.

But product truth isn't a ticket. It's the thing that should already exist before you'd even *want* a ticket. It's what makes the difference between a coherent product and a pile of features that happen to share a repo.

---

## The redirect

So here's the actual answer to "do vibe coders even need a PM tool?"

**No. You don't need a PM tool. You need product truth.**

Different thing.

A PM tool tracks the work. Product truth holds the product. The first is optional in vibe coding. The second is not — you're already paying for not having it, you just haven't priced it in.

The cost of no product truth shows up as:

- Re-explaining your product to every new AI session
- Building a feature you'd already decided was out of scope
- Writing landing copy for a product you can't summarize
- Onboarding a cofounder by saying "let me walk you through it" because there's nothing to point at
- Looking at what shipped six weeks in and not recognizing it as the product you set out to build

None of those get fixed by writing more tickets. All of them get fixed by having a place where the *product itself* lives — current, structured, and outside any single chat tab.

That's the layer that matters. That's the thing vibe coding is missing. And it's what we mean when we say *product truth*.

---

## What this looks like in practice

This is the workflow we're building HeyQ for, and it's specifically designed for the "I don't always know the direction yet" reality.

You don't write tickets up front. You don't break work down before you start. You don't groom a backlog. You just build.

While you build:

- A scope decision you made out loud gets captured by Q (HeyQ's AI) and lands in your product truth as a structured update — not silently, you review it, but you don't have to *write* it.
- A v2 idea that came up mid-debug gets dropped into a "later" pile that actually still exists tomorrow.
- Cursor's v1.0.1 plan, instead of dying in a tab, gets filed as a planned follow-up you'll see again when you're ready.
- A merged PR turns into a decision and a changelog-ready summary automatically — via the GitHub Q Bot — so what you shipped becomes part of what your product *is*.

You're still vibe coding. The build still drives. Q runs alongside it, picking up what would otherwise fall on the floor.

This is what we call **retroactive PM**: the product gets managed *as a side effect of building*, not as a precondition to it. Plans, decisions, scope, and history all accumulate from what you actually shipped — not from what you promised in a sprint review.

---

## "But sometimes I do want to plan ahead"

Yeah. Sometimes you do.

Sometimes you sit down on a Sunday and you actually know what next week looks like. You want to think it through, write a few missions, and have Cursor execute against them on Monday morning.

HeyQ does that too. Write a mission, point Cursor at it via MCP, watch it build against the spec, and move it to review when it's done. Same tool, both speeds. Plan-ahead when you want it. Retroactive when you don't.

The key thing — and this is the whole bet of the product — is that you should never have to choose your tool based on which mode you're in this week. Vibe coders aren't always vibe coding. Planners aren't always planning. The product layer should be steady underneath both.

---

## The bottom line

You were right to reject Linear. You were right to reject the old PM. The shape was wrong, the assumptions were wrong, the workflow was wrong.

But "I don't need tickets" and "I don't need product truth" are two different statements. Conflating them is what's costing you.

You don't need a PM tool. You need a place where what your product *is* lives — outside the chat tab, outside your head, outside the next refactor.

Build fast. But build with a memory.

---

**Want to see what retroactive PM actually feels like?**

Start a HeyQ project from an idea, a doc, or your existing repo. We'll structure your product truth in a few minutes — and from there, the build does the work of keeping it current.
]]></content:encoded>
            <enclosure url="https://lclocpewxenoifkrwbgn.supabase.co/storage/v1/object/public/blog_images/352feaab-16bc-43ef-9693-688555a875aa-0.4287827814866737.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Vibe Coding Is Fast. Vibe Coding Forgets.]]></title>
            <link>https://heyq.com/blog/vibe-coding-is-fast-vibe-coding-forgets</link>
            <guid>https://heyq.com/blog/vibe-coding-is-fast-vibe-coding-forgets</guid>
            <pubDate>Mon, 09 Feb 2026 21:13:00 GMT</pubDate>
            <description><![CDATA[The hidden tax of building with AI - and why your product needs a memory.]]></description>
            <content:encoded><![CDATA[
*The hidden tax of building with AI — and why your product needs a memory.*

---

Vibe coding is the best thing that ever happened to building software.

You open Cursor at 9pm with half an idea. By midnight, you've shipped a working prototype. The next morning, Claude helps you refactor it. By the weekend, real people are using it. Two months ago this would have taken a quarter. Now it takes a Tuesday.

This is real. The speed is not hype.

But here's the part nobody talks about:

**Vibe coding is fast. Vibe coding also forgets.**

And the cost of that forgetting is quietly eating every AI-first builder alive.

---

## The Black Hole

Open up your Cursor history. Scroll back two weeks.

In there, somewhere, is a plan Cursor wrote you for v1.0.1 — the small follow-up release that would clean up the rough edges of what you just shipped. You said "great, let's do it later." You closed the tab. It's gone.

Somewhere else is an alternative architecture Claude proposed when you were stuck on auth. You went a different direction. The reasoning was good. You won't remember it next time.

Somewhere else is a scope decision you made out loud at 1am: *"v1 doesn't do teams. Single-player only."* You typed it once. Cursor agreed. You moved on. Two weeks later you're building team features because you forgot you decided not to.

Somewhere else is a v2 idea that came up while you were debugging something unrelated. It was a great idea. You'd recognize it if you saw it again. You won't see it again.

This is the black hole at the center of vibe coding. Every session generates real, valuable knowledge:

- **Plans** for the next version
- **Decisions** about what's in and what's out
- **Alternatives** the AI suggested and you rejected (or postponed)
- **Rationale** for why the code looks the way it does
- **Future ideas** that surface mid-build

And nearly all of it ends up in two places that are hostile to retrieval: a chat thread you'll never reopen, and git history that only remembers the line of code, not the thinking behind it.

---

## Why This Didn't Used to Be a Problem

In the old world, planning came before building.

You wrote a brief. You wrote tickets. You had standups. The thinking happened *up front*, in tools designed to capture thinking — Jira, Linear, Notion, Confluence. Then you built what you'd already decided.

The PM tools were the right shape for that workflow because the workflow was front-loaded. The thinking existed before the code did.

Vibe coding flips that.

Now the thinking happens *during* the build. You don't know what v1 looks like until you're halfway through it. You don't know the right architecture until Cursor has tried two wrong ones. You don't know what's out of scope until you almost build it. The product is being defined and built in the same motion, in the same window, by the same person.

The valuable stuff — the decisions, the alternatives, the future plans — gets generated *as you ship*. Not before.

And the tools you're shipping with — Cursor, Claude, v0, Lovable — were never designed to capture that. They're designed to *help you build*. The moment you close the tab, everything they helped you think through is gone.

Your PM tool was built for a workflow that no longer exists. Your AI tools weren't built to be PM tools. So the knowledge falls through the gap between them.

---

## The Real Cost

You don't notice the cost in the moment. The cost shows up later, in five very specific situations every vibe coder eventually hits:

**1. You switch tools and your product doesn't come with you.**
You move from Cursor to Claude for a hard refactor. You spend the first 20 minutes re-explaining what the product is, what the stack is, what's already shipped, what's out of scope. Multiply by every session.

**2. You ship a feature and a week later can't remember why it works that way.**
Some weird edge case shaped the design. You knew the reason on Tuesday. You don't know it on Friday. So you change it back, and re-introduce the bug.

**3. You sit down to write the landing page and have nothing to draw from.**
What does the product actually do? What's it for? Who's it for? You built it, but the answers are spread across 40 chats and a code repo. You end up writing positioning from scratch — for a product that already exists.

**4. You try to onboard a cofounder, a contractor, or yourself-in-three-months.**
"Here's the repo, here's the Notion, here's... uh, I'll explain the rest." There's no durable artifact that says *what this product is*.

**5. You realize what shipped isn't quite what you meant to build.**
Not in a big way. In a hundred small ways. Scope crept here. A decision got reversed there. A v2 idea snuck into v1. You can't point to where it happened, because none of it was written down.

None of these are catastrophic on their own. Together, they're the difference between shipping a coherent product and shipping a pile of features that happen to live in the same repo.

---

## Tickets Aren't the Answer

The instinct, when you feel this pain, is to reach for the old tools. Open Linear. Start writing tickets. Catch up.

It doesn't work. And it's worth saying why, because a lot of people will try it before they accept it.

Tickets are units of *work*. They describe a chunk of stuff someone (or some AI) is going to do. They're great for that.

What you're losing in vibe coding isn't work. It's *truth* — what the product is, what it's for, what's in, what's out, what was decided, what's next. None of that fits cleanly into a ticket. None of it has an assignee. None of it has a status. It's the layer underneath the work, not the work itself.

You can write tickets all day and still not know what your product is. Ask anyone with a 400-issue Linear backlog.

What's missing isn't a better way to track tasks. It's a place where the *product* lives — durably, structurally, in a form that survives the next chat session.

---

## What "Living Product Truth" Actually Means

Here's the shift.

Instead of treating your product as something that exists in your head and your code, treat it as a living artifact:

- **Vision and hook** — what this thing is, in plain words
- **Scope** — what's in v1, what's explicitly out, what's a "later"
- **Decisions** — the calls you've made and why
- **Current state** — what's shipped, what's next
- **Open questions** — the things still unresolved

This is *product truth*. Not a spec. Not a wiki. A structured, evolving model of what you're building.

The critical word is *living*. Product truth in the vibe coding era is not something you write once and freeze. It changes constantly, because the product changes constantly:

- Cursor proposes v1.0.1 → that goes into product truth as a planned follow-up
- You decide single-player only → that goes in as a scope boundary
- A PR ships an unplanned feature → that gets retroactively filed
- Marketing reveals a sharper audience → the brief updates
- A v2 idea pops up mid-build → it lands somewhere durable instead of dying in a tab

Every one of those moments today disappears. In a living product truth model, every one of them strengthens what the product *is*.

That's the shift. The build process should *generate* product knowledge, not consume it.

---

## How HeyQ Fits In

This is what we're building HeyQ to be: the place your product truth lives, and stays alive.

A few specifics about how that actually works in practice:

- **You start with truth, not a blank board.** Drop in an idea, a doc, a PDF, a URL, or a repo, and HeyQ structures it into a product brief, scope, and decisions. (Yes, even an existing codebase — for the *"I already shipped something and have no docs"* moment.)

- **Q keeps it current as you build.** Q is HeyQ's AI, and it works *inside* your product truth. New decisions, scope changes, future plans — Q captures them and proposes them as reviewable updates. Nothing changes silently.

- **Every tool reads from the same truth.** Through MCP, your product truth is available natively in Cursor, Claude Desktop, and any other MCP-aware client. No more pasting context. No more cold starts.

- **Shipped work files itself.** The GitHub Q Bot watches your PRs and turns merged work into linked missions, decisions, and changelog-ready summaries. You ship. Q files. The build process becomes the capture process.

We're not trying to be Linear with AI bolted on. We're trying to be the layer underneath all your AI tools — the one place where what your product *is* lives, evolves, and stays current.

---

## The Bottom Line

Vibe coding isn't going away. It's going to swallow more of how software gets built every quarter.

The builders who win in this era won't be the ones who type prompts the fastest. Everyone has access to the same models. Everyone gets the same speed.

The builders who win will be the ones whose products have a memory. Whose v2 ideas don't die in tabs. Whose scope decisions survive the next session. Whose shipped PRs become durable knowledge instead of git noise. Who can sit down on a Tuesday in March and still know exactly what they're building, why, and what's next — because the product itself remembers.

Speed without memory is just sophisticated forgetting.

Build fast. But stop letting it forget.

---

**Ready to keep your product truth alive?**

Start a HeyQ project from an idea, a doc, or your existing repo — and stop losing the best parts of your build to chat history.
]]></content:encoded>
            <enclosure url="https://lclocpewxenoifkrwbgn.supabase.co/storage/v1/object/public/blog_images/352feaab-16bc-43ef-9693-688555a875aa-0.589642460765105.png" length="0" type="image/png"/>
        </item>
    </channel>
</rss>