Self-Documenting Product via Dogfooding
Building a product's site using the product itself: benefits, risks, and circular-reasoning traps.
The Lesson
Building a product’s documentation or marketing site using the product itself simultaneously validates the tool, generates authentic example artifacts, and exposes UX friction — but requires discipline to avoid circular reasoning where the product’s limitations shape its own requirements.
Context
A developer built an AI-assisted SDLC pipeline (prompt-driven requirements, design, planning, and implementation). To explain and market the pipeline, they decided to build the marketing website (“I2I — From Idea to Implementation”) using the pipeline itself. The website would explain the 8-step workflow while being produced by that exact workflow.
What Happened
- Wrote user requirements for the I2I website by having a conversation about what the site should do — this was the
draft-userstep of the pipeline applied to its own marketing. - Generated the PDR from those requirements using
gen-pdr— the pipeline decided on Astro, content collections, and GitHub Pages based on the stated constraints. - Generated the release plan from the PDR using
gen-plan— the pipeline produced 6 phases from scaffold through polish. - Finalized all three documents, catching gaps (missing accessibility NFRs, no SEO strategy, no mobile breakpoints).
- Expanded into per-phase execution plans with full implementation context.
- Executed phases 00-04, producing working code at each step. The site itself contains examples of pipeline output (generated plan tables, prompt excerpts) as content.
- The dogfooding revealed that the
expandprompt needed more context about existing code patterns — phases 02+ had to reference components built in phase 01 but the prompt didn’t explicitly support “look at what exists.”
Key Insights
- Dogfooding generates authentic artifacts. The I2I site’s “Artifacts” page shows real pipeline output because the output is real — it was used to build the site. This is more convincing than fabricated examples and costs nothing extra to produce.
- Friction discovered during dogfooding is high-signal. When the pipeline struggled to reference previously-built components during later phases, that was a real usability gap — not a hypothetical.
- Circular reasoning is the main risk. If the pipeline can’t express a requirement, and you’re using the pipeline to define the product, that requirement might never surface. The mitigation is: start with external requirements (what do users need?) not internal ones (what can the pipeline produce?).
- The “works for me” trap is real. A single developer dogfooding their own tool has deep familiarity that masks onboarding friction.
- Phased execution is the safest dogfooding structure. Each phase produces a shippable increment, so if the pipeline breaks at phase 3, you still have phases 0-2 working.
Applicability
This pattern applies when your product produces artifacts that can be used in its own development or documentation: code generators, design systems, documentation tools, template engines, CI/CD pipelines.
It does NOT apply when the product and its documentation are in fundamentally different domains (e.g., a database engine doesn’t write its own docs using SQL queries).