diff --git a/.superpowers/brainstorm/3703-1774862900/.server-stopped b/.superpowers/brainstorm/3703-1774862900/.server-stopped new file mode 100644 index 0000000..d894c05 --- /dev/null +++ b/.superpowers/brainstorm/3703-1774862900/.server-stopped @@ -0,0 +1 @@ +{"reason":"idle timeout","timestamp":1774866020266} diff --git a/.superpowers/brainstorm/3703-1774862900/.server.log b/.superpowers/brainstorm/3703-1774862900/.server.log new file mode 100644 index 0000000..601a737 --- /dev/null +++ b/.superpowers/brainstorm/3703-1774862900/.server.log @@ -0,0 +1,10 @@ +{"type":"server-started","port":60692,"host":"127.0.0.1","url_host":"localhost","url":"http://localhost:60692","screen_dir":"/Users/sean/Dev/battl/gunbuilder-prototype/.superpowers/brainstorm/3703-1774862900"} +{"type":"screen-added","file":"/Users/sean/Dev/battl/gunbuilder-prototype/.superpowers/brainstorm/3703-1774862900/hero-layout.html"} +{"source":"user-event","type":"click","text":"AR-15 Build Planner\n Build smarter rifles.No spreadsheets.\n Pick parts by role, catch compatibility issues, compare live prices — all in one place.\n \n START A BUILD →\n \n \n ▶ Builder preview video\n \n \n \n \n A — Centered / Full-width\n Headline + tagline centered, single dominant CTA button, product video below. Clean, magazine-style. Works great on mobile.","choice":"centered","id":null,"timestamp":1774863085356} +{"type":"screen-added","file":"/Users/sean/Dev/battl/gunbuilder-prototype/.superpowers/brainstorm/3703-1774862900/page-sections.html"} +{"source":"user-event","type":"click","text":"HERO\n \"Stop Guessing. Start Building.\" + subhead + CTA\n \n ↓\n \n HOW IT WORKS\n 3 steps with icons\n \n ↓\n \n BUILDER PREVIEW VIDEO\n Tool in action\n \n ↓\n \n FEATURE CARDS\n 6 capabilities\n \n ↓\n \n SEO COPY BLOCK\n Short paragraph: \"What is an AR-15 builder tool?\" — targets search\n \n ↓\n \n FINAL CTA\n Second \"Start a Build\" button\n \n \n \n \n C — SEO-Optimized (6 sections)\n Same as B but adds a short prose block at the bottom targeting search keywords (\"AR-15 parts compatibility tool\", \"AR-15 build planner\"). Best for organic discovery over time.","choice":"seo","id":null,"timestamp":1774863262165} +{"type":"screen-added","file":"/Users/sean/Dev/battl/gunbuilder-prototype/.superpowers/brainstorm/3703-1774862900/waiting-1.html"} +{"type":"screen-added","file":"/Users/sean/Dev/battl/gunbuilder-prototype/.superpowers/brainstorm/3703-1774862900/full-design-v1.html"} +{"type":"screen-added","file":"/Users/sean/Dev/battl/gunbuilder-prototype/.superpowers/brainstorm/3703-1774862900/full-design-v2.html"} +{"type":"screen-added","file":"/Users/sean/Dev/battl/gunbuilder-prototype/.superpowers/brainstorm/3703-1774862900/full-design-v3.html"} +{"type":"server-stopped","reason":"idle timeout"} diff --git a/.superpowers/brainstorm/3703-1774862900/.server.pid b/.superpowers/brainstorm/3703-1774862900/.server.pid new file mode 100644 index 0000000..810283d --- /dev/null +++ b/.superpowers/brainstorm/3703-1774862900/.server.pid @@ -0,0 +1 @@ +3712 diff --git a/.superpowers/brainstorm/3703-1774862900/full-design-v1.html b/.superpowers/brainstorm/3703-1774862900/full-design-v1.html new file mode 100644 index 0000000..8673d1f --- /dev/null +++ b/.superpowers/brainstorm/3703-1774862900/full-design-v1.html @@ -0,0 +1,335 @@ + + + + + +Battl Builders — Homepage Redesign Mockup + + + + +
+ + + + + +
+
+ + AR-15 Build Planner + + Free to use +
+

+ Stop Guessing. + Start Building. +

+

+ Pick parts by role, catch compatibility issues before you order, and compare live retailer prices — all without a spreadsheet. +

+
+ + Start a Build  → + + No account required  ·  Free to use +
+
+ + +
+
How it works
+

Three steps from idea to order

+
+
+
1
+

Pick your parts

+

Choose from real parts organized by role — barrel, lower, upper, and more. No part numbers required.

+
+
+
2
+

Check compatibility

+

Catch mismatches before you order. Gas system, buffer weight, caliber — flagged automatically.

+
+
+
3
+

Compare prices & buy

+

See live prices from real retailers. Click through to buy — we never touch your order.

+
+
+
+ + +
+
+
+
+

Builder preview — looping screen recording

+
+
+
+ + +
+
What's included
+

Everything you need to plan a build

+

No fluff. No upsells. Just the tools to plan your AR-15 right.

+
+
+
🔧
+

Guided part roles

+

Pick parts by role so you're never guessing what fits where.

+
+
+
🛡️
+

Compatibility warnings

+

Catch obvious mismatches — gas system, buffer, caliber — before you buy.

+
+
+
💰
+

Live pricing totals

+

Running total as you build, with real retailer listings updated regularly.

+
+
+
🔖
+

Save your builds

+

Create a free account to save builds and pick up where you left off.

+
+
+
🔗
+

Shareable build links

+

Share a build URL with your buddy or your gunsmith. No login needed to view.

+
+
+
🚫
+

No account to browse

+

Explore parts and build freely. Create an account only when you're ready to save.

+
+
+
+ + +
+
+

What is Battl Builders?

+

+ Battl Builders is a free AR-15 build planner that helps you select compatible parts, compare prices across retailers, and plan your build from start to finish — without juggling spreadsheets or browser tabs. +

+

+ Unlike a generic parts list, Battl Builders understands AR-15 compatibility rules: gas system length vs. barrel length, buffer weight vs. stock type, caliber consistency across upper and lower. You get warnings when something doesn't match before you spend money on the wrong part. +

+

+ Whether you're planning your first build or your tenth, Battl Builders gives you a structured, guided way to research parts and buy with confidence. +

+
+
+ + +
+

Ready to build?

+

It's free, no account required, and takes about 5 minutes to start.

+ + Start a Build  → + +
+ + + + +
+ 📐 Design Mockup + Full homepage redesign preview. Scroll to see all 6 sections. Reply in terminal with feedback. +
+ + + + diff --git a/.superpowers/brainstorm/3703-1774862900/full-design-v2.html b/.superpowers/brainstorm/3703-1774862900/full-design-v2.html new file mode 100644 index 0000000..533bce5 --- /dev/null +++ b/.superpowers/brainstorm/3703-1774862900/full-design-v2.html @@ -0,0 +1,312 @@ + + + + + +Battl Builders — Homepage Redesign Mockup v2 + + + + +
+ + + + + +
+
+ + AR-15 Builds  ·  100% Free +
+

+ Stop Guessing. + Start Building. +

+

+ Choose components by role. Catch incompatibilities before they cost you. + Compare prices across real retailers — no spreadsheets, no guesswork. +

+
+ Start a Build  → + 100% Free  ·  No account required +
+
+ + +
+
The process
+

Three moves. One solid build.

+

No prior experience required. No part numbers to memorize.

+
+
+
Step 01
+

Select your components

+

Real parts, organized by role — barrel, gas system, upper, lower, and more. Pick what fits your build without needing to know SKUs.

+
+
+
Step 02
+

Flag the conflicts

+

Gas length. Buffer weight. Caliber stack. Battl surfaces the clashes before you spend money on the wrong part.

+
+
+
Step 03
+

Price it. Pull the trigger.

+

Live prices from real retailers, side by side. Click through to buy. We never touch your order.

+
+
+
+ + +
+
+
+
+

Builder preview — looping screen recording

+
+
+
+ + +
+
What you get
+

Built for builders who do their homework.

+

NO SUBSCRIPTIONS  ·  NO SPONSORED RANKINGS  ·  NO BULLSHIT

+
+
+ 🔧 +

Build by role, not part number

+

Parts organized by function. Know what you need, not what SKU to search for.

+
+
+ ⚠️ +

Conflicts caught early

+

Gas system, buffer weight, caliber — flagged before checkout, not after the box arrives.

+
+
+ 💰 +

Real prices. Real retailers.

+

Running total with live prices. No estimated MSRP. What it actually costs, today.

+
+
+ 🔖 +

Save your work

+

Free account. Save builds, pick up where you left off, run multiple configs in parallel.

+
+
+ 🔗 +

Share the build

+

One link. Your buddy sees the full parts list — no login, no friction, no excuses.

+
+
+ 🚫 +

No gates. No friction.

+

Browse and build freely. Create an account only when you're ready to save.

+
+
+
+ + +
+
+

What is Battl Builders?

+

+ Battl Builders is a free AR-15 build planner — the tool you've been doing in spreadsheets, rebuilt for how builders actually work. Select parts by role, validate compatibility as you go, and price your build across multiple retailers without opening a new tab. +

+

+ Most AR-15 compatibility mistakes happen at the parts list stage: wrong gas system length for the barrel, buffer weight that fights your stock, caliber mismatches between upper and lower. Battl flags those conflicts automatically, so you catch them before they cost you a return label. +

+

+ Whether you're planning your first rifle or spec'ing a dedicated precision upper, Battl Builders gives you a structured, guided way to research parts and buy with confidence. +

+
+
+ + +
+

Your build starts here.

+

Free. No account required. Takes five minutes to get rolling.

+ Start a Build  → +
+ + + + +
+ v2 — Copy Rewrite + Field ethos tone throughout. Scroll all sections and share feedback in terminal. +
+ + + diff --git a/.superpowers/brainstorm/3703-1774862900/full-design-v3.html b/.superpowers/brainstorm/3703-1774862900/full-design-v3.html new file mode 100644 index 0000000..cc770b2 --- /dev/null +++ b/.superpowers/brainstorm/3703-1774862900/full-design-v3.html @@ -0,0 +1,321 @@ + + + + + +Battl Builders — Homepage Redesign Mockup v3 + + + + +
+ + + + + +
+ +
+ + AR-15 Builder  ·  100% Free +
+

+ Stop Guessing. + Start Building. +

+ +

+ Not sure which parts work together? We'll walk you through it. Pick your components, get warned about anything that won't fit, and see real prices from real retailers — all in one place. +

+
+ Start a Build  → + 100% Free  ·  No account required +
+
+ + +
+
The process
+ +

3 Steps. One Battl-Ready Build.

+

No experience required. No part numbers to memorize.

+
+
+
Step 01
+

Pick your parts

+

Browse real components organized by what they do — barrel, trigger, lower, upper, and more. No prior knowledge required.

+
+
+
Step 02
+

Flag the conflicts

+

Gas length, buffer weight, caliber — Battl catches the mismatches before you spend money on the wrong part.

+
+
+
Step 03
+

Price it. Pull the trigger.

+

Live prices from real retailers, side by side. Click through to buy. We never touch your order.

+
+
+
+ + +
+
+
+
+

Builder preview — looping screen recording

+
+
+
+ + +
+
What you get
+ +

Built by gun nerds, for the everyday AR builder.

+

NO SUBSCRIPTIONS  ·  NO SPONSORED RANKINGS  ·  NO BULLSHIT

+
+
+ 🔧 +

Build by role, not part number

+

Parts organized by function. Know what you need, not what SKU to search for.

+
+
+ ⚠️ +

Conflicts caught early

+

Gas system, buffer weight, caliber — flagged before checkout, not after the box arrives.

+
+
+ 💰 +

Real prices. Real retailers.

+

Running total with live prices. No estimated MSRP. What it actually costs, today.

+
+
+ 🔖 +

Save your work

+

Free account. Save builds, pick up where you left off, run multiple configs in parallel.

+
+
+ 🔗 +

Share the build

+

One link. Your buddy sees the full parts list — no login, no friction, no excuses.

+
+
+ 🚫 +

No gates. No friction.

+

Browse and build freely. Create an account only when you're ready to save.

+
+
+
+ + +
+
+

What is Battl Builders?

+

+ Battl Builders is a free AR-15 build planner — the tool you've been doing in spreadsheets, rebuilt for how builders actually work. Select parts by what they do, validate compatibility as you go, and price your build across multiple retailers without opening a new tab. +

+

+ Most AR-15 compatibility mistakes happen at the parts list stage: wrong gas system length for the barrel, buffer weight that fights your stock, caliber mismatches between upper and lower. Battl flags those conflicts automatically, so you catch them before they cost you a return label. +

+

+ Whether you're planning your first rifle or spec'ing a dedicated precision upper, Battl Builders gives you a structured, guided way to research parts and buy with confidence. +

+
+
+ + +
+

Your build starts here.

+

Free. No account required. Takes five minutes to get rolling.

+ Start a Build  → +
+ + + +
+ v3 — Copy Revision + Updated copy is outlined in amber dashes. +
+
+ Changed from v2 +
+
+ + + diff --git a/.superpowers/brainstorm/3703-1774862900/hero-layout.html b/.superpowers/brainstorm/3703-1774862900/hero-layout.html new file mode 100644 index 0000000..aafacbd --- /dev/null +++ b/.superpowers/brainstorm/3703-1774862900/hero-layout.html @@ -0,0 +1,66 @@ +

Hero Layout: What's the main structure?

+

The hero is the first thing visitors see. Which layout best suits a "start your build now" homepage?

+ +
+ +
+
+
+
AR-15 Build Planner
+
Build smarter rifles.
No spreadsheets.
+
Pick parts by role, catch compatibility issues, compare live prices — all in one place.
+
+
START A BUILD →
+
+
+
▶ Builder preview video
+
+
+
+
+

A — Centered / Full-width

+

Headline + tagline centered, single dominant CTA button, product video below. Clean, magazine-style. Works great on mobile.

+
+
+ +
+
+
+
+
AR-15 Build Planner
+
Build smarter rifles.
No spreadsheets.
+
Pick parts, catch clashes, compare prices.
+
START A BUILD →
+
+
+
App screenshot
or animation
+
+
+
+
+

B — Split (text left, visual right)

+

Copy on the left, app screenshot or short animation on the right. Shows the product immediately. Strong for conversion, more complex layout.

+
+
+ +
+
+
+
+
+
Full-bleed product image or video background
+
+
+
Build smarter rifles.
+
No spreadsheets.
+
START A BUILD →
+
+
+
+
+

C — Immersive / Full-bleed

+

Hero image or dark atmospheric background fills the viewport. Copy overlaid with high contrast. Dramatic, brand-forward. Requires great imagery.

+
+
+ +
diff --git a/.superpowers/brainstorm/3703-1774862900/page-sections.html b/.superpowers/brainstorm/3703-1774862900/page-sections.html new file mode 100644 index 0000000..a89eee1 --- /dev/null +++ b/.superpowers/brainstorm/3703-1774862900/page-sections.html @@ -0,0 +1,111 @@ +

Below the Hero: Page Section Flow

+

What content comes after the hero + CTA? Pick the flow that best supports "I just landed here, convince me to start a build."

+ +
+ +
+
+
+
+
HERO
+
"Stop Guessing. Start Building." + subhead + CTA
+
+
+
+
BUILDER PREVIEW
+
Looping video / animated screenshot of the tool
+
+
+
+
3 FEATURE PILLARS
+
Guided roles · Compat warnings · Live prices
+
+
+
+
FINAL CTA
+
Second "Start a Build" button
+
+
+
+
+

A — Lean (4 sections)

+

Hero → video preview → 3 feature pillars → closing CTA. Fast to read, zero fluff. Gets users to the builder quickly.

+
+
+ +
+
+
+
+
HERO
+
"Stop Guessing. Start Building." + subhead + CTA
+
+
+
+
HOW IT WORKS
+
3 steps: Pick parts → See warnings → Buy with confidence
+
+
+
+
BUILDER PREVIEW VIDEO
+
Show the tool in action
+
+
+
+
FEATURE CARDS
+
6 capabilities at a glance
+
+
+
+
FINAL CTA
+
Second "Start a Build" button
+
+
+
+
+

B — Explain + Show (5 sections)

+

Adds a "How it Works" 3-step strip between hero and video. Answers "but what does it actually do?" before showing it. Better for first-time visitors unfamiliar with PCPartPicker-style tools.

+
+
+ +
+
+
+
+
HERO
+
"Stop Guessing. Start Building." + subhead + CTA
+
+
+
+
HOW IT WORKS
+
3 steps with icons
+
+
+
+
BUILDER PREVIEW VIDEO
+
Tool in action
+
+
+
+
FEATURE CARDS
+
6 capabilities
+
+
+
+
SEO COPY BLOCK
+
Short paragraph: "What is an AR-15 builder tool?" — targets search
+
+
+
+
FINAL CTA
+
Second "Start a Build" button
+
+
+
+
+

C — SEO-Optimized (6 sections)

+

Same as B but adds a short prose block at the bottom targeting search keywords ("AR-15 parts compatibility tool", "AR-15 build planner"). Best for organic discovery over time.

+
+
+ +
diff --git a/.superpowers/brainstorm/3703-1774862900/waiting-1.html b/.superpowers/brainstorm/3703-1774862900/waiting-1.html new file mode 100644 index 0000000..ef07652 --- /dev/null +++ b/.superpowers/brainstorm/3703-1774862900/waiting-1.html @@ -0,0 +1,3 @@ +
+

Continuing in terminal...

+
diff --git a/app/api/newsletter/route.ts b/app/api/newsletter/route.ts new file mode 100644 index 0000000..eeeead7 --- /dev/null +++ b/app/api/newsletter/route.ts @@ -0,0 +1,6 @@ +import { NextResponse } from "next/server"; + +// TODO: integrate with email service (Resend, ConvertKit, etc.) +export async function POST() { + return NextResponse.json({ ok: true }); +} diff --git a/app/page.tsx b/app/page.tsx index 01790ad..cb3180a 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -1,6 +1,7 @@ import type { Metadata } from "next"; import Image from "next/image"; import Link from "next/link"; +import { NewsletterForm } from "@/components/NewsletterForm"; import { WrenchScrewdriverIcon, ShieldExclamationIcon, @@ -76,12 +77,15 @@ export default function HomePage() {
Sign In Start a Build @@ -110,6 +114,8 @@ export default function HomePage() {
Start a Build → @@ -300,6 +306,8 @@ export default function HomePage() {

Start a Build → @@ -307,9 +315,72 @@ export default function HomePage() { {/* ── 8. Footer ── */} -
- © {new Date().getFullYear()} BATTL BUILDERS™ - Free AR-15 build planner +
+
+
+ {/* Brand */} +
+ Battl Builders +

+ Free AR-15 build planner. No subscriptions. No sponsored rankings. +

+
+ + {/* Product links */} +
+

+ Product +

+
    +
  • + + Builder + +
  • +
  • + + Guides + +
  • +
  • + + About + +
  • +
+
+ + {/* Newsletter */} +
+

+ Stay in the loop +

+

+ Build tips and new features. No spam. +

+ +
+
+
+ + {/* Bottom bar */} +
+ © {new Date().getFullYear()} BATTL BUILDERS™ +
+ + Privacy + + + Terms + +
+
diff --git a/components/NewsletterForm.tsx b/components/NewsletterForm.tsx new file mode 100644 index 0000000..cdac30c --- /dev/null +++ b/components/NewsletterForm.tsx @@ -0,0 +1,56 @@ +"use client"; + +import { useState } from "react"; + +export function NewsletterForm() { + const [email, setEmail] = useState(""); + const [status, setStatus] = useState<"idle" | "loading" | "done" | "error">( + "idle" + ); + + async function handleSubmit(e: React.FormEvent) { + e.preventDefault(); + if (!email) return; + setStatus("loading"); + try { + const res = await fetch("/api/newsletter", { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ email }), + }); + setStatus(res.ok ? "done" : "error"); + } catch { + setStatus("error"); + } + } + + if (status === "done") { + return

You're on the list.

; + } + + return ( +
+
+ setEmail(e.target.value)} + placeholder="your@email.com" + required + disabled={status === "loading"} + className="min-w-0 flex-1 rounded-md border border-zinc-800 bg-zinc-950 px-3 py-2 text-xs text-zinc-200 placeholder-zinc-600 focus:border-amber-500/50 focus:outline-none disabled:opacity-50" + /> + +
+ {status === "error" && ( +

Something went wrong. Try again.

+ )} +
+ ); +} diff --git a/docs/superpowers/plans/2026-03-30-homepage-redesign.md b/docs/superpowers/plans/2026-03-30-homepage-redesign.md new file mode 100644 index 0000000..36cf081 --- /dev/null +++ b/docs/superpowers/plans/2026-03-30-homepage-redesign.md @@ -0,0 +1,415 @@ +# Homepage Redesign Implementation Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** Replace the beta-gated homepage with an open, conversion-focused landing page that drives users directly into the builder. + +**Architecture:** Two files change. `components/Banner.tsx` gets a one-line suppression for `/`. `app/page.tsx` is fully rewritten as a React Server Component with 8 sections and a page-level metadata export. No new files, no new components, no client state. + +**Tech Stack:** Next.js 15 App Router, React Server Components, TypeScript, Tailwind CSS, `@heroicons/react/20/solid`, `next/image`, `next/link` + +--- + +## File Map + +| File | Change | +|------|--------| +| `components/Banner.tsx` | One-line change — add `|| pathname === "/"` to suppression check | +| `app/page.tsx` | Full rewrite — RSC, metadata export, 8-section layout, new copy | + +--- + +## Task 1: Suppress Banner on the Homepage + +**Files:** +- Modify: `components/Banner.tsx:8` + +Context: `Banner` renders an "Early Access Beta" bar on every non-admin route. The new homepage is no longer beta-gated, so it must not show this bar. + +- [ ] **Step 1: Edit `components/Banner.tsx`** + + Change line 8 from: + ```tsx + if (pathname?.startsWith("/admin")) return null; + ``` + To: + ```tsx + if (pathname?.startsWith("/admin") || pathname === "/") return null; + ``` + +- [ ] **Step 2: Verify manually** + + Run `npm run dev` and open `http://localhost:3000`. Confirm the amber "Early Access Beta" bar is **not** visible. Navigate to `/builder` and confirm the banner **is** visible. + +- [ ] **Step 3: Commit** + + ```bash + git add components/Banner.tsx + git commit -m "feat: suppress Early Access Beta banner on homepage" + ``` + +--- + +## Task 2: Rewrite `app/page.tsx` as a React Server Component + +**Files:** +- Modify: `app/page.tsx` (full rewrite) + +Context: The current file is `"use client"` with a beta signup form. Remove all client state, the form, and the `/api/beta-signup` dependency. Replace with 8 static sections. Add a `metadata` export using `{ absolute: "..." }` to bypass the root layout's `template: "%s — Battl Builders"` pattern. + +- [ ] **Step 1: Replace `app/page.tsx` with the following content** + +```tsx +import type { Metadata } from "next"; +import Image from "next/image"; +import Link from "next/link"; +import { + WrenchScrewdriverIcon, + ShieldExclamationIcon, + CurrencyDollarIcon, + BookmarkSquareIcon, + LinkIcon, + LockOpenIcon, +} from "@heroicons/react/20/solid"; + +export const metadata: Metadata = { + title: { absolute: "Battl Builders — Free AR-15 Build Planner" }, + description: + "Pick compatible AR-15 parts, catch mismatches before you order, and compare live prices from real retailers. Free, no account required.", +}; + +export default function HomePage() { + return ( +
+ {/* Grid background — retained from previous implementation */} +
+ + + + + + + + + + + + +
+ +
+ {/* ── 1. Nav ── */} + + + {/* ── 2. Hero ── */} +
+
+ + AR-15 Builder  ·  100% Free +
+ +

+ Stop Guessing. + Start Building. +

+ +

+ Not sure which parts work together? We'll walk you through it. + Pick your components, get warned about anything that won't fit, + and see real prices from real retailers — all in one place. +

+ +
+ + Start a Build → + + + 100% Free · No account required + +
+
+ + {/* ── 3. How It Works ── */} +
+

+ THE PROCESS +

+

+ 3 Steps. One Battl-Ready Build. +

+

+ No experience required. No part numbers to memorize. +

+ +
+ {[ + { + num: "Step 01", + title: "Pick your parts", + body: "Browse real components organized by what they do — barrel, trigger, lower, upper, and more. No prior knowledge required.", + }, + { + num: "Step 02", + title: "Flag the conflicts", + body: "Gas length, buffer weight, caliber — Battl catches the mismatches before you spend money on the wrong part.", + }, + { + num: "Step 03", + title: "Price it. Pull the trigger.", + body: "Live prices from real retailers, side by side. Click through to buy. We never touch your order.", + }, + ].map((step) => ( +
+

+ {step.num} +

+

+ {step.title} +

+

+ {step.body} +

+
+ ))} +
+
+ + {/* ── 4. Builder Preview Video ── */} +
+
+
+ + +
+
+ + {/* ── 5. Feature Cards ── */} +
+

+ WHAT YOU GET +

+

+ Built by gun nerds, for the everyday AR builder. +

+

+ NO SUBSCRIPTIONS · NO SPONSORED RANKINGS · NO BULLSHIT +

+ +
+ {( + [ + { + Icon: WrenchScrewdriverIcon, + title: "Build by role, not part number", + body: "Parts organized by function. Know what you need, not what SKU to search for.", + }, + { + Icon: ShieldExclamationIcon, + title: "Conflicts caught early", + body: "Gas system, buffer weight, caliber — flagged before checkout, not after the box arrives.", + }, + { + Icon: CurrencyDollarIcon, + title: "Real prices. Real retailers.", + body: "Running total with live prices. No estimated MSRP. What it actually costs, today.", + }, + { + Icon: BookmarkSquareIcon, + title: "Save your work", + body: "Free account. Save builds, pick up where you left off, run multiple configs in parallel.", + }, + { + Icon: LinkIcon, + title: "Share the build", + body: "One link. Your buddy sees the full parts list — no login, no friction, no excuses.", + }, + { + Icon: LockOpenIcon, + title: "No gates. No friction.", + body: "Browse and build freely. Create an account only when you're ready to save.", + }, + ] as const + ).map(({ Icon, title, body }) => ( +
+
+ ))} +
+
+ + {/* ── 6. SEO Copy Block ── */} +
+
+

+ What is Battl Builders? +

+

+ Battl Builders is a free{" "} + + AR-15 build planner + {" "} + — the tool you've been doing in spreadsheets, rebuilt for how + builders actually work. Select parts by what they do, validate + compatibility as you go, and price your build across multiple + retailers without opening a new tab. +

+

+ Most{" "} + + AR-15 compatibility mistakes + {" "} + happen at the parts list stage: wrong gas system length for the + barrel, buffer weight that fights your stock, caliber mismatches + between upper and lower. Battl flags those conflicts automatically, + so you catch them before they cost you a return label. +

+

+ Whether you're planning your first rifle or spec'ing a + dedicated precision upper, Battl Builders gives you a structured, + guided way to research parts and{" "} + + buy with confidence + + . +

+
+
+ + {/* ── 7. Final CTA ── */} +
+

+ Your build starts here. +

+

+ Free. No account required. Takes five minutes to get rolling. +

+ + Start a Build → + +
+ + {/* ── 8. Footer ── */} +
+ © {new Date().getFullYear()} BATTL BUILDERS™ + Free AR-15 build planner +
+
+
+ ); +} +``` + +- [ ] **Step 2: Verify the build compiles** + + ```bash + npm run build + ``` + + Expected: no TypeScript or Next.js errors related to `app/page.tsx`. (TS errors and ESLint are suppressed in this project per `next.config.mjs`, but the file should still render without runtime errors.) + +- [ ] **Step 3: Verify manually in the dev server** + + Run `npm run dev` and open `http://localhost:3000`. Check all 8 sections are visible: + - Nav: logo left, "Sign In" (ghost) + "Start a Build" (amber) right + - Hero: badge pill, H1 with amber "Start Building.", subhead, amber CTA button, micro-copy + - How It Works: 3-step flush grid (Step 01–03) + - Video: rounded container playing `builder-preview.mp4` (or showing poster) + - Feature Cards: 6-card 3-col flush grid with Heroicons + - SEO Copy: left-aligned prose with bold keyword terms + - Final CTA: "Your build starts here." with amber button + - Footer: copyright left, "Free AR-15 build planner" right (no version string) + + Also verify: + - No "Early Access Beta" banner visible on homepage + - Page `` is "Battl Builders — Free AR-15 Build Planner" (not double-suffixed) + - Both CTA buttons link to `/builder` + - "Sign In" links to `/login` + +- [ ] **Step 4: Commit** + + ```bash + git add app/page.tsx + git commit -m "feat: redesign homepage — RSC, 8 sections, remove beta form" + ``` diff --git a/docs/superpowers/specs/2026-03-30-homepage-redesign-design.md b/docs/superpowers/specs/2026-03-30-homepage-redesign-design.md new file mode 100644 index 0000000..732ded1 --- /dev/null +++ b/docs/superpowers/specs/2026-03-30-homepage-redesign-design.md @@ -0,0 +1,262 @@ +# Homepage Redesign — Design Spec + +**Date:** 2026-03-30 +**Status:** Approved + +--- + +## Overview + +Replace the current beta-signup homepage with an open, conversion-focused landing page that drives users directly into the builder. Remove all gated beta content. Add a strong hero, explain the product clearly for the ICP (25–50 yr old male, firearm experience, not an expert builder), and provide two clear CTAs to start a build. + +--- + +## Goals + +- Remove the beta signup form entirely +- Add a strong, centered hero section +- Explain what Battl Builder does in plain language (no jargon) +- Drive users to `/builder` with a clear, prominent CTA +- Add SEO-optimized copy targeting "AR-15 build planner" and "AR-15 compatibility" keywords +- Convert `page.tsx` from a `"use client"` component to a React Server Component (no client state needed without the form) + +--- + +## ICP + +**Primary:** 25–50 yr old male, owns or has shot an AR-15, wants to build one, not an expert builder. Doesn't know gas system lengths or buffer weights off the top of their head. Gets frustrated by forum rabbit holes and spreadsheets. + +**Tone:** Field ethos — direct, confident, no fluff. Sounds like a knowledgeable builder talking to someone who wants to learn. Not military cosplay. Respects the reader's intelligence without assuming expertise. + +--- + +## Implementation Approach + +**Two files change: `app/page.tsx` (full rewrite) and `components/Banner.tsx` (one line).** + +### `app/page.tsx` + +- Remove `"use client"` directive — this becomes a React Server Component. There is no need to extract a client component because the form (the only source of client state) is being deleted entirely. The `metadata` export will work correctly once `"use client"` is removed. +- Remove all beta signup state (`email`, `useCase`, `status`, `message`, `accepted`) +- Remove `handleSubmit`, `TOS_VERSION`, and the `<form>` block +- Remove the `/api/beta-signup` dependency from this page +- Build all 8 sections as pure JSX with no client-side interactivity +- Keep existing amber/zinc/black design tokens and grid background SVG +- Keep `/builder-preview.mp4` video (autoplay, loop, muted, playsInline) with `poster="/builder-preview.png"` as fallback +- Add a page-level `metadata` export (see SEO section below) +- `new Date().getFullYear()` in the footer is safe in an RSC — evaluated at request time + +### `components/Banner.tsx` + +The `Banner` component currently renders an "Early Access Beta" bar on every non-admin route. Since the homepage is no longer beta-gated, suppress it on `/` by adding `|| pathname === "/"` to the existing exclusion check: + +```tsx +if (pathname?.startsWith("/admin") || pathname === "/") return null; +``` + +No other changes to `Banner.tsx`. + +### Route group note + +`app/page.tsx` renders under `app/layout.tsx` only — it does **not** belong to the `(app)` route group and does not inherit `TopNav` or `Footer` from `app/(app)/layout.tsx`. The homepage renders its own inline nav and footer directly. + +--- + +## Page-Level Metadata (SEO) + +Add the following export to `app/page.tsx`: + +```tsx +import type { Metadata } from "next"; + +export const metadata: Metadata = { + title: { absolute: "Battl Builders — Free AR-15 Build Planner" }, + description: + "Pick compatible AR-15 parts, catch mismatches before you order, and compare live prices from real retailers. Free, no account required.", +}; +``` + +*Use `{ absolute: "..." }` to bypass the root layout's `template: "%s — Battl Builders"` pattern — otherwise the title renders as "Battl Builders — Free AR-15 Build Planner — Battl Builders".* + +--- + +## Page Structure (8 Sections) + +### 1. Nav + +Inline nav baked into `page.tsx` (same pattern as current page). + +- **Left:** Battl Builders logo — `<Image src="/battl/battl-logo-mark-f.svg" alt="Battl Builders" width={260} height={48} />` +- **Right (left to right):** + - "Sign In" — ghost style (`border border-zinc-800 bg-zinc-950/60 text-zinc-200`) → `/login` + - "Start a Build" — amber style (`border border-amber-500/70 bg-amber-500/90 text-black font-semibold`) → `/builder` + - *Intentional order change from current page: amber weight now goes to "Start a Build", not "Sign In". This is the primary conversion action.* + +--- + +### 2. Hero + +**Layout:** Centered, full-width. Max-width ~760px, `text-center`. + +**Badge pill:** +> AR-15 Builder · 100% Free + +**H1:** +> Stop Guessing. +> **Start Building.** *(amber — `text-amber-300`)* + +**Subhead:** +> Not sure which parts work together? We'll walk you through it. Pick your components, get warned about anything that won't fit, and see real prices from real retailers — all in one place. + +**Primary CTA button** (amber, full-shadow glow, links to `/builder`): +> Start a Build → + +**Micro-copy below button:** +> 100% Free · No account required + +--- + +### 3. How It Works + +**Section label (small caps):** THE PROCESS + +**H2:** +> 3 Steps. One Battl-Ready Build. + +**Subhead:** +> No experience required. No part numbers to memorize. + +**3 steps in a flush-bordered grid panel (no gap between cards, shared border):** + +| Step | Title | Body | +|------|-------|------| +| Step 01 | Pick your parts | Browse real components organized by what they do — barrel, trigger, lower, upper, and more. No prior knowledge required. | +| Step 02 | Flag the conflicts | Gas length, buffer weight, caliber — Battl catches the mismatches before you spend money on the wrong part. | +| Step 03 | Price it. Pull the trigger. | Live prices from real retailers, side by side. Click through to buy. We never touch your order. | + +--- + +### 4. Builder Preview Video + +Full-width rounded container with subtle border glow. + +```tsx +<video + autoPlay + loop + muted + playsInline + poster="/builder-preview.png" + className="w-full object-cover" +> + <source src="/builder-preview.mp4" type="video/mp4" /> +</video> +``` + +- `poster="/builder-preview.png"` ensures the section always has visible content if the video hasn't loaded or is missing +- Bottom fade gradient overlay: `bg-gradient-to-t from-black` (retain from current implementation) + +--- + +### 5. Feature Cards + +**Section label:** WHAT YOU GET + +**H2:** +> Built by gun nerds, for the everyday AR builder. + +**Subhead (uppercase, muted):** +> NO SUBSCRIPTIONS · NO SPONSORED RANKINGS · NO BULLSHIT + +**6 cards in a 3-column flush-bordered grid panel:** + +| Heroicon | Title | Body | +|----------|-------|------| +| `WrenchScrewdriverIcon` | Build by role, not part number | Parts organized by function. Know what you need, not what SKU to search for. | +| `ShieldExclamationIcon` | Conflicts caught early | Gas system, buffer weight, caliber — flagged before checkout, not after the box arrives. | +| `CurrencyDollarIcon` | Real prices. Real retailers. | Running total with live prices. No estimated MSRP. What it actually costs, today. | +| `BookmarkSquareIcon` | Save your work | Free account. Save builds, pick up where you left off, run multiple configs in parallel. | +| `LinkIcon` | Share the build | One link. Your buddy sees the full parts list — no login, no friction, no excuses. | +| `LockOpenIcon` | No gates. No friction. | Browse and build freely. Create an account only when you're ready to save. | + +All icons are from `@heroicons/react/20/solid`. `LinkIcon`, `LockOpenIcon`, and `BookmarkSquareIcon` are confirmed present in the installed version. `LinkIcon` and `LockOpenIcon` replace `BuildingStorefrontIcon` and `ChatBubbleLeftRightIcon` (the two beta-specific cards being removed). + +--- + +### 6. SEO Copy Block + +Separated by a top border. Max-width ~680px, left-aligned prose. + +**H2:** +> What is Battl Builders? + +**Paragraph 1:** +> Battl Builders is a free **AR-15 build planner** — the tool you've been doing in spreadsheets, rebuilt for how builders actually work. Select parts by what they do, validate compatibility as you go, and price your build across multiple retailers without opening a new tab. + +**Paragraph 2:** +> Most **AR-15 compatibility mistakes** happen at the parts list stage: wrong gas system length for the barrel, buffer weight that fights your stock, caliber mismatches between upper and lower. Battl flags those conflicts automatically, so you catch them before they cost you a return label. + +**Paragraph 3:** +> Whether you're planning your first rifle or spec'ing a dedicated precision upper, Battl Builders gives you a structured, guided way to research parts and **buy with confidence**. + +Use `<strong>` tags (or `font-semibold text-zinc-300`) on the bolded terms above to reinforce keyword signal. + +**Target keywords:** "AR-15 build planner", "AR-15 compatibility tool", "AR-15 parts list builder" + +--- + +### 7. Final CTA Section + +**H2:** +> Your build starts here. + +**Subhead:** +> Free. No account required. Takes five minutes to get rolling. + +**CTA button** (amber, same style as hero, links to `/builder`): +> Start a Build → + +--- + +### 8. Footer + +Stripped down from current version. + +- **Left:** `© {new Date().getFullYear()} BATTL BUILDERS™` +- **Right:** "Free AR-15 build planner" +- Remove `v0.1 • Import engine online • Builder UI in progress` version string entirely + +--- + +## Design Tokens (unchanged) + +| Token | Value | +|-------|-------| +| Background | `bg-black` / `#09090b` | +| Primary accent | `text-amber-300` / `border-amber-500` | +| CTA button | `bg-amber-500/90` → `bg-amber-400` on hover | +| Body text | `text-zinc-50` | +| Muted text | `text-zinc-400` / `text-zinc-500` | +| Card background | `bg-zinc-950` / `bg-black/30` | +| Card border | `border-zinc-800` / `border-white/10` | +| Grid background SVG | Retain existing pattern from current `page.tsx` lines 116–160 | + +--- + +## Files Changed + +| File | Change | +|------|--------| +| `app/page.tsx` | Full rewrite — RSC, 8-section layout, new copy, metadata export | +| `components/Banner.tsx` | One-line change — suppress banner on `/` | + +--- + +## Out of Scope + +- Changes to `TopNav`, `Footer`, or any other shared layout component beyond `Banner.tsx` +- Changes to the builder page, auth flow, or any API routes +- Removing the `/api/beta-signup` route (separate cleanup task) +- Mobile-specific breakpoint overrides beyond Tailwind responsive defaults +- Animation or scroll effects +- Any changes to `app/(app)/layout.tsx` or `app/layout.tsx`