Touch For Fun — Engineering Handoff
This page is the spec that engineering reads and builds from. All copy is final. All components are mapped to @stackmates/ui-marketing. Build apps/touchforfun/ from this document without asking questions.
Site Architecture
| Route | Page | Purpose | Priority |
|---|---|---|---|
/ | Home | Hero + problem + solution + proof + pricing + FAQ + CTA | P0 |
/sessions | Sessions | Protocol library, session types, booking | P1 |
/facilitators | Facilitators | Certification programme, facilitator network | P1 |
/organisations | Organisations | Partner Protocol, impact reporting | P2 |
/research | Research | Trust measurement methodology, trust scale documentation | P2 |
Stack: Next.js 15 App Router, @stackmates/ui-marketing components, @stackmates/tailwind-preset, Vercel deployment.
Pattern to copy: apps/berleytrails/ — use the same route group structure.
Section-to-Component Mapping (Home Page)
Sections render top-to-bottom in this order. Each maps to a specific @stackmates/ui-marketing component.
| # | Section | Component | Import Path |
|---|---|---|---|
| 1 | Hero | HeroWithImage | @stackmates/ui-marketing |
| 2 | Stats | StatsCounter | @stackmates/ui-marketing |
| 3 | Problem | BenefitSection | @stackmates/ui-marketing |
| 4 | Solution | FeatureGrid | @stackmates/ui-marketing |
| 5 | Differentiator | BenefitSection | @stackmates/ui-marketing |
| 6 | Social Proof | TestimonialCard | @stackmates/ui-marketing |
| 7 | Pricing | PricingTable | @stackmates/ui-marketing |
| 8 | FAQ | FAQSection | @stackmates/ui-marketing |
| 9 | Footer CTA | CTABanner | @stackmates/ui-marketing |
| 10 | Newsletter | NewsletterSection | @stackmates/ui-marketing |
Data Structures
Engineering copies these typed objects verbatim into the page component.
Stats
const stats: Stat[] = [
{
id: 'trust-delta',
value: '0.5+',
label: 'Standard deviation trust improvement per session',
},
{
id: 'gross-margin',
value: '60',
label: 'Gross margin target across all tiers',
suffix: '%',
},
{
id: 'target-cac',
value: '0',
label: 'Target CAC via facilitator referral network',
prefix: '$',
},
];
Features (How It Works)
const features: Feature[] = [
{
id: 'consent-first',
title: 'Consent First',
description: 'The consent process is the first ritual. An opt-in menu lets every participant choose their comfort level before anything begins. Safety creates openness.',
icon: 'Shield',
},
{
id: 'run-the-ritual',
title: 'Run the Ritual',
description: 'Facilitation-ready protocols. Five rituals in the Session Kit — each with a facilitator guide, timing, and trust measurement integration.',
icon: 'Users',
},
{
id: 'measure-the-delta',
title: 'Measure the Delta',
description: 'Pre/post validated trust scale. Not a satisfaction survey — a measurement instrument adapted from social psychology research.',
icon: 'BarChart3',
},
{
id: 'improve-the-protocol',
title: 'Improve the Protocol',
description: 'Every session produces data. Data refines the protocol. Better protocols attract better facilitators. The loop compounds.',
icon: 'Repeat',
},
{
id: 'certify-facilitators',
title: 'Certify Facilitators',
description: 'Each certified facilitator becomes a distribution node. Their sessions become proof for the next facilitator. The network builds through depth.',
icon: 'BookOpen',
},
];
Pricing Tiers
const pricingTiers: PricingTier[] = [
{
name: 'Session Kit',
price: 300,
period: 'one-time',
description: 'Everything to run your first measured session in two hours.',
features: [
{ text: '5 facilitation-ready protocols', included: true },
{ text: 'Consent checklist and facilitator guide', included: true },
{ text: 'Pre/post trust measurement forms', included: true },
{ text: '30-minute onboarding call', included: true },
{ text: 'Monthly trust tracking', included: false },
{ text: 'Facilitator certification', included: false },
],
cta: {
label: 'Get the Session Kit',
href: 'https://calendly.com/touchforfun/session-kit',
},
},
{
name: 'Community Program',
price: 500,
period: '/month',
description: 'Monthly sessions, trust tracking, and protocol refinement.',
features: [
{ text: 'Monthly facilitated session', included: true },
{ text: 'Trust delta tracking across cohorts', included: true },
{ text: 'Protocol refinement from your data', included: true },
{ text: 'Cohort trust report', included: true },
{ text: 'Facilitator certification', included: false },
{ text: 'Custom protocol design', included: false },
],
cta: {
label: 'Start the Programme',
href: 'https://calendly.com/touchforfun/community-program',
},
highlighted: true,
badge: 'Most Popular',
},
{
name: 'Partner Protocol',
price: 2000,
period: 'setup + $500/mo',
description: 'Custom ritual design, facilitator training, and impact reporting.',
features: [
{ text: 'Custom protocol design for your organisation', included: true },
{ text: 'Facilitator training (your team)', included: true },
{ text: 'QA reviews of facilitated sessions', included: true },
{ text: 'Quarterly impact report', included: true },
{ text: 'Embedded facilitator model', included: true },
{ text: 'Trust measurement methodology transfer', included: true },
],
cta: {
label: 'Book a Discovery Call',
href: 'https://calendly.com/touchforfun/partner-protocol',
},
},
];
FAQ Items
const faqItems: FAQItem[] = [
{
question: "What's a trust delta?",
answer: "The measurable difference in trust scores before and after a session. We use a validated trust scale — not a satisfaction survey. If the delta is zero after five cohorts, we redesign the protocol.",
},
{
question: 'What if some participants don\'t want to be touched?',
answer: 'The consent process is designed for exactly this. Every participant gets an opt-in menu — they choose which elements they're comfortable with. High opt-out rates tell us to run the no-touch protocol variant. Safety is the starting condition, not an afterthought.',
},
{
question: 'How is this different from a team-building workshop?',
answer: 'Team-building delivers an experience. We deliver a measurement experiment. Every session ends with a number — your pre/post trust delta. That number is your evidence, your ROI, and your protocol improvement data. Team-building has no equivalent.',
},
{
question: 'How long before we see results?',
answer: 'Measurable trust delta from the first session. Repeat attendance pattern becomes clear by Month 3. Protocol efficiency improves from Month 2 as data accumulates.',
},
{
question: 'Do you run the sessions or do we?',
answer: 'Depends on the tier. Session Kit — you run it with our protocol. Community Program — we facilitate. Partner Protocol — we train your facilitators to run it independently.',
},
];
Testimonial (Pilot Zero placeholder)
const testimonial: Testimonial = {
id: 'pilot-zero',
quote: 'We ran the protocol on ourselves first. Three sessions. Measured trust before and after each one. The consent process alone changed how our team talks about boundaries.',
author: 'Dreamineering',
role: 'Pilot Zero',
company: 'Touch For Fun',
};
Differentiators
const differentiators: Benefit[] = [
{ id: 'diff-1', text: 'Measurement infrastructure — not entertainment experiences' },
{ id: 'diff-2', text: 'Trust delta — not satisfaction scores' },
{ id: 'diff-3', text: 'Consent-first design — not waiver-first liability management' },
{ id: 'diff-4', text: 'Protocol that compounds — not events that reset' },
];
Copy Deck
All final copy. Engineering copies verbatim. No writing required.
Hero
- Headline: Joy Is the Most Basic Form of Training.
- Subheadline: Embodied social rituals that measurably increase trust and belonging. Protocols for facilitators who want to prove their sessions work.
- CTA label: Book a Session
- CTA href:
https://calendly.com/touchforfun/session-kit - Background:
gradient
Problem Section
- Title: Teams Train Skills. Never Trust.
- Description: Organisations spend $500-2,000 per person on retreats that reset to baseline within two weeks. Wellbeing programmes measure attendance. Nobody measures whether trust actually changed.
- Layout:
split - Benefits (inverted pain points):
- Retreats reset — culture investments don't compound because there's no measurement
- No protocol — facilitation depends on individual skill, not documented procedure
- Wrong metric — satisfaction surveys measure enjoyment, not whether trust improved
Solution Section
- Title: Touch For Fun — Ritual Infrastructure for Trust
- Description: A consent-first protocol library, facilitation guides, and trust measurement tools. Run your first measured session in two hours.
- Columns:
3 - Card variant:
bordered - Features: See
featuresarray above
Differentiator Section
- Title: Infrastructure Beats Experience
- Layout:
list - Benefits: See
differentiatorsarray above
Social Proof
- Title: We Eat Our Own Rituals First
- Testimonial: See
testimonialobject above - Note: Placeholder until pilot case studies complete. Use
variant: 'featured'for Pilot Zero.
Pricing Section
- Headline: Start Small. Stay If the Delta Is Real.
- Subheadline: No programme commitment until the first session proves the trust delta.
- Tiers: See
pricingTiersarray above
FAQ Section
- Headline: Questions About Trust Infrastructure
- Items: See
faqItemsarray above - allowMultiple:
true
Footer CTA
- Headline: Trust Is Measurable. Start Measuring.
- CTA label: Book a 15-Minute Call
- CTA href:
https://calendly.com/touchforfun/discovery - Background:
gradient
Newsletter
- Headline: Get the Protocol
- Submit label: Subscribe
- Success message: You are on the trail.
Visual Direction
Color Palette
Warm and grounded. The ritual should feel safe and human, not corporate.
| Token | Value | Usage |
|---|---|---|
--background | Warm dark (#1A1410) | Page backgrounds |
--foreground | Warm white (#F5F0EB) | Body text |
--primary | Terracotta (#C2714F) | CTAs, active states, links |
--primary-foreground | Warm white (#F5F0EB) | Text on terracotta buttons |
--muted | Dark warm (#2A2018) | Card backgrounds, sections |
--muted-foreground | Warm grey (#A89880) | Secondary text |
--accent | Warm gold (#D4A843) | Highlights, badges |
Implementation: Create a touchforfun theme variant in @stackmates/theme following the existing variant pattern. All values as CSS custom properties.
Typography
- Headlines: Bold, short. 3 words max per the content standards.
- Body: Clean sans-serif (Inter from design system). 15px base.
- Hero H1:
text-5xl md:text-6xl lg:text-7xl font-bold text-balance
Imagery
- Hero image: Circle of people in a consent ritual. Warm lighting. No stock photography. Custom illustration or photograph from a facilitated session.
- Icons: Lucide icons throughout (Shield, BarChart3, Users, Repeat, BookOpen for the 5-step process)
- No stock photos. Real facilitation photography or illustrations only.
Tone
Warm. Direct. Grounded in science without being clinical. Hemingway. Short sentences. The copy earns trust by being honest about what's proven and what's projected.
Integration Specs
| Integration | Solution | Spec |
|---|---|---|
| Booking CTA | Calendly (interim) → in-house BOOK-001 | All "Book a Session" CTAs open Calendly in new tab. When BOOK-001 ships, swap URLs to self-hosted scheduling. |
| Analytics | Platform provider-agnostic tracking (L2) | Events: page_view, cta_click, pricing_tier_viewed, newsletter_subscribed — wire to existing analytics adapter. |
| Newsletter | Platform newsletter capture endpoint (L2) | POST /api/intents/marketing/newsletter creates marketing contact via existing Resend adapter. |
| CRM | Platform CRM (L3 contacts, L3 deals) | Use existing CRM for facilitator and organisation tracking. |
| Trust Measurement | Custom (not yet built) | Trust scale data capture — participant IDs, session ID, pre/post scores. Schema needs design before engineering can build. |
| Domain | touchforfun.com | Vercel project. DNS configured separately. |
Analytics Events
type AnalyticsEvent =
| { event: 'page_view'; page: string }
| { event: 'cta_click'; cta_id: 'hero' | 'footer' | 'pricing_kit' | 'pricing_program' | 'pricing_partner' }
| { event: 'pricing_tier_viewed'; tier: 'session-kit' | 'community-program' | 'partner-protocol' }
| { event: 'faq_opened'; question: string }
| { event: 'newsletter_submitted'; email: string }
| { event: 'booking_initiated'; tier: string };
Responsive Behavior
| Breakpoint | Behavior |
|---|---|
| Mobile (375px) | Hero stacks vertically — headline, subheadline, CTA, then image below. Pricing cards stack vertically. FAQ full-width accordion. CTAs full-width, 44px+ height. |
| Tablet (768px) | Hero side-by-side. Pricing cards 2-column. Feature grid 2-column. |
| Desktop (1024px+) | Full layout. Pricing 3-column. Feature grid 3-column. Max-width container (1400px). |
Critical: Community Program (middle tier) must be visually highlighted at all breakpoints — highlighted: true + badge: 'Most Popular' + scale/ring treatment from PricingTable.
SEO Metadata
export const metadata = {
title: 'Touch For Fun — Embodied Trust Infrastructure',
description: 'Consent-first social rituals that measurably increase trust and belonging. Session Kit from $300.',
keywords: 'trust building, embodied connection, facilitation protocols, team trust, community rituals',
openGraph: {
title: 'Touch For Fun — Joy Is the Most Basic Form of Training.',
description: 'Consent-first protocols that measure trust, not just satisfaction.',
images: [{ url: '/og/touchforfun-hero.png', width: 1200, height: 630 }],
type: 'website',
url: 'https://touchforfun.com',
},
twitter: {
card: 'summary_large_image',
title: 'Touch For Fun — Joy Is the Most Basic Form of Training.',
description: 'Consent-first protocols that measure trust, not just satisfaction.',
images: ['/og/touchforfun-hero.png'],
},
};
Platform Proof
This build validates the platform thesis: build components once (@stackmates/ui-marketing), deploy to many ventures. Berleytrails proved the ocean theme. Touch For Fun proves the warm/terracotta theme. Each venture gets its own aesthetic from the shared design system.
| Shared | Venture-Specific |
|---|---|
@stackmates/ui-marketing (25 components) | Theme variant (terracotta palette) |
@stackmates/tailwind-preset | Copy deck (this document) |
@stackmates/design-tokens | Hero photography |
| Analytics library | Calendly integration |
| Vercel deployment pipeline | Trust measurement schema (new) |
Trust Measurement Schema (new — not yet in platform): The trust scale data model doesn't exist yet. Before building /research route, design the schema: sessions, participants, measurements (pre/post scores), and protocol versions. This is the only net-new infrastructure this venture requires.
Platform Dependencies
Features this venture requires from the Feature Matrix.
Built and Reusable (L2-L3)
| Feature ID | Feature | State | Integration Strategy |
|---|---|---|---|
| MKTG-004 | Analytics tracking | L2 | Provider-agnostic tracking. Events already defined. Wire to existing adapter. |
| — | Newsletter capture | L2 | POST /api/intents/marketing/newsletter + Resend adapter. Ready to use. |
| — | CRM contacts | L3 | Track facilitators and partner organisations. |
| AUTH-001 | User registration | L3 | Facilitator and participant accounts. |
| — | Design system | L2 | 8 theme variants, 25 marketing components. Add touchforfun as 9th variant. |
Needs Building (L0)
| Feature ID | Feature | State | Strategy |
|---|---|---|---|
| MKTG-001 | Landing pages | L0 | This build — second venture site after berleytrails |
| BOOK-001 | Resource booking | L0 | Calendly interim. Build in-house when Time-Mind booking ships. |
| — | Trust measurement DB | L0 | New schema. Sessions + participants + pre/post scores + protocol versions. |
Questions
Does this spec give engineering enough to build touchforfun.com without asking questions?
- Which route should be built second —
/sessions(protocol library) or/facilitators(certification programme)? - At what point does the trust measurement schema need to be in the shared platform vs venture-specific?
- Should the
/researchroute reference the trust measurement methodology inline or link to the docs?