Inspiration

After doing research we found that keyboard hobbyists spend tens of hours over a span of weeks researching to build their custom keyboard. Also, buying incompatible parts can lead to wasting hundreds of dollars. All the information exists but it's all scattered across platforms and is not beginner friendly. The mechanical keyboard market is $2B with over a million people in the hobby but there is no AI tooling to help, so we built switchy.

What it does

Switchy is an AI-powered mechanical keyboard build advisor with three paths to a complete build:

AI Advisor: Multi-turn chat with Claude Sonnet. Type "I want something thocky under $200" and get a complete parts list with real products, prices, and vendor links in 30 seconds.

Guided Wizard: 6-step flow (use case → sound preference → budget → size → priorities → build) for beginners who need structure.

Custom Builder: Manual component picker with real-time 3D preview and per-key customization for enthusiasts.

Additional features:

  • Interactive 3D studio (Three.js) to visualize builds before buying
  • Product explorer with 120+ switches, 40+ keyboards, 30+ keycap sets—all filterable by sound profile, type, and price
  • Group buy tracker managing 30+ active listings with status timelines and budget tracking
  • Built-in glossary of 80+ keyboard terms with difficulty progression
  • Shareable build links and conversation history

How we built it

Tech Stack:

  • Next.js 16 + React 19 + TypeScript
  • Convex for real-time backend (38 serverless functions)
  • Claude Sonnet API for AI recommendations
  • Three.js + React Three Fiber for 3D preview
  • Clerk for authentication
  • Stripe for subscriptions
  • Tailwind CSS v4
  • Nia

Architecture:

  • 15 routes covering advisor, wizard, builder, studio, product explorers, group buy tracker, glossary
  • 110+ React components with custom design system
  • Real-time database with automatic reactivity (live group buy updates, instant build saves)
  • AI generates builds from natural language, ensuring compatibility using real product database
  • Multi-turn conversation with preserved context for iterative refinement

Challenges we ran into

AI prompt engineering: Teaching Claude to map subjective descriptions ("something between a thock and a clack") to specific product specs required extensive iteration. We encoded keyboard domain knowledge (sound profiles, component compatibility, budget tiers) into structured system prompts.

Real-time compatibility validation: Ensuring AI-generated builds use compatible parts required building a comprehensive product database with compatibility rules (plate support, layout compatibility, stabilizer requirements).

3D rendering performance: Loading and rendering keyboard models with 60+ keycaps in real-time required optimization, instanced geometry, texture atlasing, and lazy loading of materials.

Monetization integration: Built three revenue streams (freemium subscriptions via Stripe, affiliate links across 11 product categories, vendor sponsorships) directly into the product flow without disrupting UX.

Scope management: With 15 routes and 110+ components, we had to prioritize ruthlessly. AI advisor and 3D studio first, everything else iteratively.

Accomplishments that we're proud of

Built a complete product: 15 fully functional routes, 110+ components, working authentication, payment processing, and AI integration—all in 48 hours.

Built three distinct user experiences: AI chat, guided wizard, and manual builder. Each serves different user needs while sharing the same backend and product database.

Real-time 3D keyboard visualization: Full Three.js studio with material swapping, keycap customization, and camera controls running smoothly in the browser.

Database of 250+ real products: Cataloged 120 switches, 40 keyboards, 30 keycap sets, 60+ accessories, all with accurate specs, compatibility data, and vendor links.

AI that actually understands keyboards: Through careful prompt engineering, Claude generates builds that are genuinely compatible and match user preferences and not random product combinations.

What we learned

Prompt engineering is the product: We spent more time iterating on AI prompts than writing React components. Small changes in how we described sound profiles or compatibility rules dramatically improved recommendation quality.

Domain knowledge compounds: The deeper we got into keyboard specifications, the better our product became. Understanding why certain switches pair well with specific plates wasn't optional as it was core to the value proposition.

Real data beats placeholder content: We initially considered using dummy data and adding real products later. Building the actual product database first forced us to understand compatibility constraints and made the AI recommendations immediately useful.

Multiple entry points matter: Supporting three different build paths (chat, wizard, manual) added complexity but was essential. Different users have different mental models for how they want to approach this problem.

Scope discipline was critical: We had ideas for 20+ additional features (custom keycap designer, sound test library, build analytics). Ruthlessly focusing on the core loop (describe → build → visualize → save) let us ship something complete instead of many half-finished features.

What's next for Switchy

Launch on Reddit r/MechanicalKeyboards for feedback from 1M+ potential users. Expand switch database from 120 to 200+ options. Add vendor API integrations for real-time pricing and availability. Test conversion rates from free tier (limited AI builds) to Pro tier ($10/month unlimited).

Built With

Share this project:

Updates