feat: Feature 3.1 — Landing page + blog + Phase 3 specs

Next.js 14+ web app in web/ directory:
- Landing page: Hero, How It Works, Features, 3-tier Pricing with
  founder badges, Footer with email capture
- Blog system: MDX-powered, /blog index + /blog/[slug] pages,
  reading time, Open Graph tags, JSON-LD structured data
- Auth pages: /login + /signup (Supabase Auth ready)
- Design system: dark theme, grade colors (A/B/C/D), BetonBLK voice
- 1 seed blog post: "How to Read Line Movement Like a Sharp"
- Specs for 3.2 (Scan UI), 3.3 (Bet Tracker), 3.4 (Stripe)

Build passes clean: 7 static pages generated.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Kev
2026-03-22 09:43:38 -04:00
parent ed6502a880
commit bfa8345ebf
26 changed files with 5142 additions and 31 deletions
+45
View File
@@ -0,0 +1,45 @@
import type { Metadata } from 'next';
import './globals.css';
export const metadata: Metadata = {
title: 'BetonBLK — AI-Powered Parlay Intelligence',
description: 'Stop guessing. Start grading. BetonBLK scans your parlay in seconds with AI-powered prop analysis across DraftKings, FanDuel, and BetMGM.',
openGraph: {
title: 'BetonBLK — AI-Powered Parlay Intelligence',
description: 'Stop guessing. Start grading.',
type: 'website',
},
};
export default function RootLayout({ children }: { children: React.ReactNode }) {
return (
<html lang="en" className="dark">
<head>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossOrigin="anonymous" />
<link
href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap"
rel="stylesheet"
/>
</head>
<body className="min-h-screen antialiased">
<nav className="fixed top-0 w-full z-50 border-b border-[var(--border)] bg-[var(--bg)]/80 backdrop-blur-md">
<div className="max-w-6xl mx-auto px-4 h-16 flex items-center justify-between">
<a href="/" className="font-mono font-bold text-xl tracking-tight">
Beton<span className="text-[var(--accent)]">BLK</span>
</a>
<div className="flex items-center gap-6 text-sm">
<a href="/blog" className="text-[var(--text-muted)] hover:text-white transition">Blog</a>
<a href="/scan" className="text-[var(--text-muted)] hover:text-white transition">Scan</a>
<a href="/tracker" className="text-[var(--text-muted)] hover:text-white transition">Tracker</a>
<a href="/login" className="px-4 py-2 rounded-lg bg-[var(--accent)] text-white text-sm font-medium hover:opacity-90 transition">
Log In
</a>
</div>
</div>
</nav>
<main className="pt-16">{children}</main>
</body>
</html>
);
}