Files
James PineandClaude Opus 4.7 a6ac8ceba7 fix(landing): address PR #487 review feedback
- Preserve canonical camelCase platform aliases (macArm, macIntel) in the
  /download/[platform] redirect so those URLs don't lose their platform param.
- Add accessible title + role="img" to the inline Windows SVG so it passes
  Biome's a11y rule and announces to screen readers.
- On /api/releases fetch failure, show an explicit error state with a single
  intentional link to GitHub releases — no more silent GitHub fallback or
  disabled-button UX lie. Keeps normies off GitHub unless they opt in.

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
2026-04-18 23:31:34 -07:00
..
2026-01-25 13:40:18 -08:00
2026-01-25 13:40:18 -08:00
2026-01-25 13:40:18 -08:00

Voicebox Landing Page

Landing page for voicebox.sh - a modern Next.js 16 application.

Tech Stack

  • Next.js 16 with App Router
  • Bun for package management
  • Tailwind CSS with shadcn/ui components
  • TypeScript with strict mode
  • Railway deployment ready

Getting Started

Prerequisites

Installation

cd landing
bun install

Development

bun run dev

Open http://localhost:3000 to view the landing page.

Build

bun run build

Production

bun run start

Configuration

Edit src/lib/constants.ts to update:

  • LATEST_VERSION - Current release version
  • DOWNLOAD_LINKS - GitHub release download URLs
  • GITHUB_REPO - Repository URL

Update GitHub Username

Replace USERNAME in src/lib/constants.ts with your actual GitHub username.

Deployment to Railway

  1. Connect your GitHub repository to Railway
  2. Railway will auto-detect nixpacks.toml
  3. Set root directory to landing/
  4. Railway will automatically:
    • Install dependencies with bun install
    • Build with bun run build
    • Start with bun run start
  5. Configure custom domain voicebox.sh in Railway settings

Project Structure

landing/
├── src/
│   ├── app/
│   │   ├── layout.tsx      # Root layout with metadata
│   │   ├── page.tsx        # Landing page
│   │   └── globals.css     # Global styles
│   ├── components/
│   │   ├── Header.tsx      # Top navigation
│   │   ├── Footer.tsx      # Footer
│   │   ├── DownloadSection.tsx  # Download buttons
│   │   └── ui/             # shadcn/ui components
│   └── lib/
│       ├── utils.ts        # Utility functions
│       └── constants.ts    # App constants
├── public/
│   └── voicebox-logo.png   # Logo asset
└── nixpacks.toml          # Railway deployment config

Features

  • Responsive design (mobile-first)
  • Dark mode by default
  • SEO optimized metadata
  • Download links for Mac, Windows, Linux
  • Feature showcase
  • Platform highlights
  • GitHub integration