Back to projects
Feb 2026
4 min read

Ketch - AI Startup Idea Lab

✨ Idea workshop for instant brainstorming, local save/slug sharing, powered by React, TypeScript, Tailwind, TanStack Router, and shadcn/ui.
See Demo See Repository
Tags
Tanstack
Typescript
React
Tailwind
Shadcn/ui
AI
Ketch - AI Startup Idea Lab

☁️ Deploy your own


✨ Features

  • Idea Generator — Generate creative brand ideas in real time from a seed prompt.
  • Idea Lab — Create, evaluate, and refine idea briefs using AI-powered workflow components.
  • Saved Ideas — Save and revisit high-potential ideas in a persistent local store.
  • Shared Ideas — Share idea pages publicly with unique slugs and social links.
  • Mobile + Desktop Nav — Responsive tabbed navigation and top navbar with active-state routes.
  • Theme Switching — Supports light/dark theme preference across devices.
  • Rate Limiting — Built-in generation rate control to prevent misuse and keep request flow safe.
  • Accessible UI — Uses shadcn-inspired components with keyboard-friendly controls.
  • Open Source — MIT licensed; fully customizable and easy to fork.

🧱 Tech Stack

  • React: UI framework for declarative component rendering.
  • TanStack Router: Declarative client-side routing with nested layouts.
  • TypeScript: Strong typing for safer maintenance and refactoring.
  • Tailwind: Utility-first styling used across components.
  • Shadcn UI: Base design primitives for consistent interface components.

🚀 Getting Started

Clone the repo, install deps, and boot the dev server:

git clone https://github.com/KurutoDenzeru/Ketch.git
cd Ketch
bun install
bun run dev

Open http://localhost:3000 to view the app.

📦 Build for Production

bun run build
bun start

🗂️ Configuration

The app is implemented under src/. Key areas to customize and extend are:

src/
  components/
    analysis-dashboard.tsx  # Dashboard UI for performance analysis and data summary
    app-footer.tsx          # App footer for site-wide leveling and links
    app-navbar.tsx          # Top/Bottom navigation menu components
    idea-brief-form.tsx     # Form for drafting and scanning idea briefs
    idea-card.tsx           # UI card for idea previews and status controls
    name-suggestions.tsx    # Name suggestion generator interface
    pitch-section.tsx       # Pitch text generation and edit component
    shared-idea-page.tsx    # Shared idea page renderer for public slugs
    theme-provider.tsx      # Theme switcher context/provider logic
    theme-toggle-tabs.tsx   # UI toggles for theme select tabs
  hooks/
    use-mobile.ts           # Mobile viewport detection hook
  lib/
    gemini.ts               # AI generation + API integration functions
    generation-rate-limit.ts # Generation request throttling helper
    idea-storage.ts         # Local storage helper for saved ideas
    query-client.ts         # React Query client setup
    shared-idea-store.ts    # Shared idea persistence store helper
    utils.ts                # Shared utility functions
    server/                # API helpers / backend service helpers
  routes/
    __root.tsx              # Root layout & global state wrapper
    index.tsx               # Idea Lab home route
    idea.tsx                # Idea generation route
    saved.tsx               # Saved ideas route
    shared.tsx              # Shared ideas listing route
    idea.$slug.tsx          # Dynamic shared idea route by slug
    api/                   # API utilities and helpers
  types/
    idea.ts                 # Idea domain model typings
    rate-limit.ts           # Rate limiting typings

🤝🏻 Contributing

Contributions are always welcome, whether you’re fixing bugs, improving docs, or shipping new features that make the project better for everyone.

Check out Contributing.md to learn how to get started and follow the recommended workflow.


⚖️ License

This project is released under the UUnlicensed, giving you the freedom to use, modify, and distribute the code with minimal restrictions.

For the full legal text, see the Unlicensed file.

Search Projects

Search all projects from anywhere on the site.