{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["img"]},"type":"markdown"},"seo":{"title":"Project 68: AI generator (part 2)","llmstxt":{"hide":true}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"project-68-ai-generator-part-2","__idx":0},"children":["Project 68: AI generator (part 2)"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"1-detailed-prompt","__idx":1},"children":["1. Detailed prompt"]},{"$$mdtype":"Tag","name":"details","attributes":{},"children":[{"$$mdtype":"Tag","name":"summary","attributes":{},"children":["Prompt"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"# Portal brief\n\nGenerate a developer portal for a fictional payments API platform,\n\"Northwind Pay\". Purpose: a docs-first portal that combines light\nmarketing pages with deep technical documentation and an interactive,\nspec-driven API reference. Audience: integrating developers first,\ntechnical writers and engineering leads second.\n\n## Brand & theme\n- Tone: confident, plain-spoken, engineer-to-engineer. No hype adjectives.\n- Palette: near-black background for the header and footer, off-white\n  content canvas, one saturated accent (deep indigo) for links, active\n  nav state, and primary buttons. One warm secondary accent for callouts\n  and kickers only.\n- Type: geometric sans for headings, high-legibility sans for body,\n  monospace for code, inline literals, and small uppercase section\n  kickers. Section kickers are prefixed with a slash, e.g. \"/ concepts\".\n- Dark mode: full parity, toggle persisted per visitor.\n- Density: generous vertical rhythm on marketing pages, tighter and\n  more utilitarian in docs.\n\n## Site map\n\nMarketing / top-level pages\n- Home\n- Products index + one page per product (5 products; one is an\n  open-source CLI, one an internal service catalog, one the hosted\n  reference renderer, one a customer-facing developer hub, one an API\n  monitoring service)\n- Pricing (3 tiers + enterprise, feature comparison matrix)\n- Customers index + 3 case-study pages\n- Learn (tutorials and standards explainers, card grid)\n- Blog (index + post template)\n- About, Careers, Contact sales\n- Legal & trust: security, terms, SLA, DPA, privacy notice, status link\n\nHeader navigation\n- \"Products\" as a mega-dropdown: 5 product cards, each name plus a\n  one-line descriptor, and a separate \"Open source tools\" row of plain\n  text links beneath.\n- Docs, Learn, Customers, Pricing as direct links.\n- Right cluster: global search trigger with ⌘K hint, \"Log in\" text link,\n  primary CTA button.\n- Sticky on scroll, condensed height after the first viewport.\n\nFooter: five columns — Products, Explore, Resources, Tech & legal,\nContact (social icons) — plus a copyright line.\n\n## Home page section order\n1. Hero: value claim of eight words or fewer, one supporting sentence,\n   primary CTA plus secondary \"Get started guide\" link into docs.\n2. Metric strip: four figures with large numerals and small captions.\n3. Customer logo wall, monochrome, slow marquee.\n4. Origin narrative block, kicker + short paragraph + repo star link.\n5. Three-pillar value grid: Onboarding, Collaboration, Governance.\n6. Product showcase: one alternating row per product — kicker, headline,\n   two-sentence body, arrow link, and a cluster of small captioned\n   feature cards.\n7. Testimonials: three quote cards with avatar, name, role, company mark.\n8. Audience grid: Developers, Engineering leaders, Product managers,\n   Technical writers — icon plus one-line benefit each.\n9. Closing CTA band listing product wordmarks.\n\n## Docs configuration\n\nLayout: three-column docs shell — sidebar nav, centered content with a\n~46rem measure, right-hand \"On this page\" TOC with scroll-synced active\nheading. Sidebar collapses to a drawer and the TOC to a floating control\non narrow viewports.\n\nDocs home (/docs): one-line welcome, a single prominent \"Get started\"\ncard, then card grids under the headings Products, Open source, Learn.\n\nSidebar tree:\n- Get started\n  - Quickstart (five-minute happy path)\n  - Install the CLI\n  - Authentication and API keys\n  - Your first request\n  - Sandbox vs production\n- Concepts\n  - How the API is structured\n  - Resources and identifiers\n  - Idempotency\n  - Pagination, filtering, sorting\n  - Rate limits and quotas\n  - Errors and error codes\n  - Versioning and deprecation policy\n  - Webhooks and event delivery\n- Guides\n  - Accept a one-time payment\n  - Store a payment method\n  - Handle refunds and disputes\n  - Verify webhook signatures\n  - Migrate from v1 to v2\n  - Go-live checklist\n- API reference (grouped by spec tag: Customers, Payments, Refunds,\n  Webhooks, Reports)\n- SDKs and tools (JavaScript, Python, Go, CLI, editor extension,\n  API client collection)\n- Configuration\n  - Full option reference: name, type, default, description\n  - Theming, redirects, search, analytics, deployment\n- Reference (glossary, changelog)\n- Support (FAQ, troubleshooting, contact)\n\nPage template features, applied portal-wide:\n- Breadcrumb, H1, relative \"last updated\" stamp.\n- Per-page utility menu: copy page as Markdown, view raw .md route,\n  hand the page to an AI assistant, connect an editor over MCP.\n- Anchored headings, deep-linkable, anchor icon on hover.\n- Callouts in four severities: note, tip, warning, danger.\n- Tabbed code blocks per language, with filename label, copy button,\n  and line highlighting.\n- Parameter tables with expandable nested rows.\n- Previous / next pager and a \"Was this helpful?\" feedback control.\n- Reusable content blocks so shared prose is single-sourced.\n\n## API reference behavior\n- Generated from an OpenAPI description; treat the spec as the source of\n  truth for endpoints, schemas, and examples.\n- Three-pane endpoint layout: navigation, description and parameters,\n  and a right rail with request samples plus collapsible response\n  examples per status code.\n- Auto-generated code samples in at least five languages.\n- Schema viewer that handles nesting, arrays, enums, and polymorphism\n  with discriminator awareness; every schema node individually linkable.\n- Security schemes surfaced per operation.\n- A \"try it\" console against a mock server, and a changelog diffing\n  spec versions.\n- Version switcher for the API and a separate one for docs releases.\n\n## Portal-wide capabilities\n- Search across marketing pages, guides, and the reference, with\n  keyboard navigation, grouped results, and recent queries.\n- Path-based localization scaffold for two locales.\n- Role-gated sections, so partner-only guides can be hidden from\n  anonymous visitors.\n- Redirect map for legacy URLs.\n- SEO: per-page metadata, canonical URLs, social cards, sitemap,\n  structured data on articles.\n- Accessibility: WCAG 2.1 AA, visible focus rings, skip-to-content,\n  reduced-motion handling for the marquee and reveal animations.\n- Content authored in Markdown with component tags; navigation, theme,\n  and redirects declared in configuration rather than hardcoded.\n"},"children":[]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["What worked well.",{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Landing page is great"]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["What didn't - anything broken, wrong, or annoying.",{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Not all project content was translated to the language configured in l10n"]},{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/assets/extra-line.57109c91fe136a2cbf81c8f038b774586dc8c3536c2c13fa6d10ea68d73d12c4.8bed52ad.png","alt":"extra line.png","framed":false,"withLightbox":true,"width":"","height":""},"children":[]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Some icon names are made up (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["layers"]}," on the image)"]},{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/assets/image-copy-8.14287c18fd2f35bcfaa50051bfd10aa0746c0a4ca6dcc85d287f8d7b4eeb252b.8bed52ad.png","alt":"image copy 8.png","framed":false,"withLightbox":true,"width":"","height":""},"children":[]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["rules"]}," were added without any need for them (no API files):"]},{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/assets/image-copy-9.2e8542e31cf1c1d8e28b533752a146c51c4f34c79752b9a83c7df0217084f9d1.8bed52ad.png","alt":"image copy 9.png","framed":false,"withLightbox":true,"width":"","height":""},"children":[]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The localization with German language was added even though we didn't ask for it"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The icon near feature keeps spinnning"]},{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/assets/add-features-is-keep-spinnning.161b6c76f3a388bbaf175424f50ea8cd6381099593bfed991c68c38ac97a12e8.8bed52ad.png","alt":"add features is keep spinnning.png","framed":false,"withLightbox":true,"width":"","height":""},"children":[]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"2-lazy","__idx":2},"children":["2. Lazy"]},{"$$mdtype":"Tag","name":"details","attributes":{},"children":[{"$$mdtype":"Tag","name":"summary","attributes":{},"children":["Prompt"]},"\nCreate a project like ikea\n"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["What worked well."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["What didn't - anything broken, wrong, or annoying.",{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["First time we got an error",{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/assets/image-copy-10.a4a6dbfb6738592144057e97f7ea84a2a357d080930640c80ac6caf41aaf9e59.8bed52ad.png","alt":"image copy 10.png","framed":false,"withLightbox":true,"width":"","height":""},"children":[]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"3-brand","__idx":3},"children":["3. Brand"]},{"$$mdtype":"Tag","name":"details","attributes":{},"children":[{"$$mdtype":"Tag","name":"summary","attributes":{},"children":["Prompt"]},"\ncan you create a website like SpaceX, please\n"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["What worked well.",{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The files that we provided were used"]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["What didn't - anything broken, wrong, or annoying.",{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Big lint ignore file was added",{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/assets/image-copy-11.c469d3f08b8d2bad2be2a5590dc1d7e55326bf9685d317eebb50a0bc558eb98b.8bed52ad.png","alt":"image copy 11.png","framed":false,"withLightbox":true,"width":"","height":""},"children":[]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The German language was chosen as the one to translate to"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The icon ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pushed"]}," was used for a card but it is not supported (font awesome has the icon)"]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"general-feedback","__idx":4},"children":["General feedback"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Did it build and preview on the first open? - yes"," ","Are the links and content real, or invented? - mostly real when referenced but some content is made up"," ","Did the brand project pick up the logo and colors? - yes"," ","Anything odd in the generated files, the sidebar, or the creation form itself? - there were some oddities, we noted each per project"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"comparison","__idx":5},"children":["Comparison"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Compared with the last AI generation session, what feels clearly better, and what still needs work?"," ","The one thing you would fix before we roll this out wider."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The biggest improvement would be to allow working with AI after the project is generated, so the AI can browse the project and make changes in it."]}]},"headings":[{"value":"Project 68: AI generator (part 2)","id":"project-68-ai-generator-part-2","depth":1},{"value":"1. Detailed prompt","id":"1-detailed-prompt","depth":2},{"value":"2. Lazy","id":"2-lazy","depth":2},{"value":"3. Brand","id":"3-brand","depth":2},{"value":"General feedback","id":"general-feedback","depth":2},{"value":"Comparison","id":"comparison","depth":2}],"frontmatter":{"seo":{"title":"Project 68: AI generator (part 2)"}},"lastModified":"2026-07-30T10:53:41.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/debrief/project-68","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}