/
homepage
full flagship rhythm
brand system
application / marketing
application / marketing system
Reusable surface recipes for the homepage, /for pages, and compare pages.
marketing
activeone page, many routes.
landing, audience, and comparison pages share the same building blocks.
01 / application spine
The brand should grow out of the live landing page, not around it. This tab turns current landing patterns and growth docs into reusable building blocks for homepage, audience, comparison, story, and future SEO pages.
one pawrful page.
The homepage stays the flagship. SEO pages inherit its parts, then swap audience, proof, palette, and route-specific facts.
block
hero
block
proof
block
CTA
/
full flagship rhythm
/for/cafes
same parts, specific proof
/compare/linktree
facts, tradeoffs, freshness
02 / current landing surfaces
This is the audit layer: each homepage surface gets a future reusable shape, what should stay intact, and the failure mode to avoid when SEO pages start borrowing it.
01
LandingHero / ClaimForm
explain the page and start the signup flow
reusable as
MarketingHero + ClaimCtaBand
page-first pitch, proof line, product video, Privy-first CTA behavior
avoid
SEO pages cloning the homepage hero instead of using audience-specific proof
02
LandingFeatureDemos
show the product doing useful work
reusable as
FeatureDemoRow
small number of concrete demos with real UI or exportable media
avoid
feature copy becoming generic SaaS bullets without a visible page outcome
03
LandingPricing / plan features
explain trial, pawr, and lifetime without derailing discovery
reusable as
PricingPanel
yearly default, plan-feature constants, keep-the-pawr lifecycle language
avoid
audience pages inventing separate pricing cards or CTA behavior
04
LandingUseCases
make the product feel useful for many kinds of people
reusable as
UseCaseRail + ContrastBlock
proof through screenshots, not abstract icons
avoid
turning every page family into a different visual theme park
05
LandingFeedback / showcase cases
prove that real pages exist and carry personality
reusable as
ProofRail
cached profile previews, latest feedback resolver, real page examples
avoid
hardcoded image URLs or stale testimonial blobs
06
LandingAgents
make AI/agent readability legible without leading the whole brand
reusable as
TechnicalUseCasePanel
plain page value first, technical pitch second
avoid
making protocol language the default homepage voice
03 / reusable blocks
These are the blocks worth treating as shared production parts. The block list is intentionally broader than the homepage so `/for` and `/compare` can share the same styling contract.
hero
sets page family, audience, and first CTA
style contract
one sharp headline, one support line, one proof object, no nested cards
components/marketing/marketing-hero.tsxclaim-cta
keeps signup behavior consistent
style contract
ink-first CTA unless a campaign module earns one accent button
components/marketing/claim-cta-band.tsxfeature-demo
turns a product behavior into visible proof
style contract
real UI, screenshot, or route-backed preview before illustration
components/marketing/feature-demo-row.tsxpricing-panel
keeps trial, pawr, and lifetime consistent
style contract
shared plan constants, yearly-first, no one-off tier names
components/marketing/pricing-panel.tsxuse-case-rail
shows many page outcomes without rebuilding the brand per audience
style contract
screenshots and profile examples supply most color
components/marketing/use-case-rail.tsxproof-rail
uses real pages, quotes, and cached OG previews as evidence
style contract
blob-backed images or route-backed previews, never rot-prone hardcoded URLs
components/marketing/proof-rail.tsxcontrast-block
explains what pawr refuses or replaces
style contract
opinionated, short, balanced by concrete product behavior
components/marketing/contrast-block.tsxrecipe-grid
shows what an audience page should contain
style contract
typed modules from audience config, one field palette per route
components/marketing/audience/page-recipe-grid.tsxcomparison-table
lets comparison pages answer evaluation intent quickly
style contract
balanced facts, source links, freshness date, crawlable content
components/marketing/compare/compare-table.tsxfaq
captures long-tail questions without bloating the pitch
style contract
server-rendered question/answer pairs from typed configs
components/marketing/faq-stack.tsxrelated-links
keeps SEO pages browseable and honest
style contract
browseable IA, no orphan doorway pages
components/marketing/related-route-links.tsx04 / SEO route recipes
Audience pages and comparison pages should share components, but they should not sound or behave the same. Audience pages prove fit; comparison pages help someone make a decision.
/for/*
data model
typed audience config: hero, problem, page recipe, examples, setup, FAQ, related audiences
visual rule
One field color and one supporting accent per audience. Same architecture, different proof and microcopy.
required blocks
guardrails
distinct audience and intent
distinct proof, not doorway copy
real page examples where possible
crawlable server content
production files
app/for/page.tsxapp/for/[audience]/page.tsxlib/seo/audience-pages.tscomponents/marketing/audience/*/compare/*
data model
typed competitor config: verdict, lenses, comparison rows, strengths, tradeoffs, sources, FAQ
visual rule
Calmer than audience pages. Use tables, verdict panels, source rows, and proof blocks more than campaign color.
required blocks
guardrails
official sources for current claims
visible freshness date
balanced verdict
no fake metrics or fake authority
production files
app/compare/page.tsxapp/compare/[competitor]/page.tsxlib/seo/compare-pages.tscomponents/marketing/compare/*05 / route palettes
Route families can get useful color guidance without forcing the brand into a single hue. The baseline rule stays: one field palette, one accent, real proof carries the rest.
/for/cafes
gold flash / coral red
warm, owned, physical-place energy without turning the whole site beige
/for/coffee-professionals
creator green / signal blue
skill and profile vitality with enough contrast for examples and service proof
/for/creators
creator green / gold flash
profile content should be the loud object; the field stays soft
/for/agents
violet pulse / signal blue
marks experimental/technical context without making AI the default brand
/compare/*
ink / signal blue
comparison intent needs clarity, tables, and evidence more than campaign mood
06 / implementation rules
These rules keep the brand system maintainable as it becomes shared components. They protect against one-off SEO pages, color drift, duplicate CTAs, and fact strings scattered across TSX.
01
Future growth pages should compose named marketing blocks and recipe props first.
If a page needs custom styling, promote the stable pattern into a shared block instead of cloning utility strings.
02
Marketing surfaces should let product screenshots, profile previews, and real pages supply most of the color.
Use one field palette per route family and avoid vivid backgrounds behind already colorful proof.
03
Baloo 2 belongs to the wordmark and biggest growth-display beats, not dense page chrome.
SEO pages should use neutral sans for body, tables, FAQs, pricing detail, and comparison rows.
04
Audience and comparison pages need server-rendered text, metadata, internal links, and real headings.
Do not hide the actual page argument inside images, videos, or client-only interactive blocks.
05
Compare claims, freshness dates, route relationships, and audience recipes should be typed data.
Update a data file and let components render it. Avoid fact strings embedded across TSX sections.
06
Audience pages can feel specific without becoming separate microsites.
Change palette, proof, example composition, and microcopy. Keep mark, typography, spacing, CTAs, and section rhythm stable.