Skip to content

AayushBharti/VentureDen

Repository files navigation

VentureDen logo

VentureDen

An AI-powered startup pitch platform where founders pitch ideas, get instant AI feedback, and connect with investors
Try it live »

Website · Issues · Request Feature

Made by Aayush Bharti GitHub Stars GitHub Forks License Top Language Commits Pull Requests Deployment Status

Table of Contents

About

VentureDen is an AI-powered startup pitch platform where early-stage founders submit pitches, receive instant AI analysis powered by Google Gemini, and connect with a community of investors and builders. Browse and search startup ideas, upvote the best ones, leave feedback in the comments, and build a public founder profile — all on a blazing-fast Next.js 16 + Sanity CMS stack.

Every pitch is scored by AI across clarity, market positioning, and uniqueness, with actionable suggestions to sharpen the idea before it reaches investors. A fully editable, content-managed homepage and blog round out the experience, making VentureDen both a product and a complete, real-world reference for building a modern full-stack monorepo.

📸 Screenshots

VentureDen home page

Discover startup pitches

Pitch detail with the Gemini-powered AI Pitch Analysis panel

✨ Features

Area What you get
AI pitch analysis Every pitch scored by Google Gemini on clarity, market positioning & uniqueness (0–100) plus a weighted overall score and 2–3 actionable suggestions
Pitch submission Multi-step create flow with a Novel / Tiptap rich-text editor (headings, lists, code, quotes, tasks) for the full pitch body
Discover & search Browse all pitches with category filters, sort by recent / upvotes / views, and instant client-side fuzzy search via Fuse.js
Community engagement One-click upvotes, view counts, and threaded comments on every pitch
Founder profiles Public author pages with avatar, stats, and authored pitches — created automatically on first sign-in
Authentication GitHub OAuth via NextAuth v5; avatars uploaded to Sanity and an author document created on first login
Headless CMS Sanity Studio v5 with visual editing, live preview, and click-to-edit across a typed page builder
Page builder Composable homepage blocks — hero, logo ticker, top pitches, integrations, FAQ — editable by non-technical editors
Blog Rich-text articles with auto-generated table of contents and reading experience
SEO & sharing Dynamic OG image generation, JSON-LD structured data, and per-page metadata
PWA Installable app with a service worker and offline fallback page
Dark mode System-aware light / dark theming via next-themes

🛠 Tech Stack

VentureDen is built using the following technologies:

Technologies Used

📂 Project Structure

VentureDen is a pnpm + Turborepo monorepo with two apps and shared packages:

apps/
  web/      — Next.js 16 frontend (App Router, React 19, Tailwind v4, Turbopack)
  studio/   — Sanity Studio v5 (Vite, styled-components)
packages/
  env/                — Zod-validated environment variables (client + server)
  sanity/             — Sanity client, GROQ queries, live preview, generated types
  ui/                 — Shared Radix + CVA + Tailwind components (shadcn-style)
  logger/             — Structured logger
  typescript-config/  — Shared tsconfigs

🧰 Getting Started

  1. Make sure Git, Node.js 22+ and pnpm 10+ (via corepack enable) are installed.

  2. Fork this repository and clone your fork:

    git clone https://github.com/<your-username>/VentureDen.git
    cd VentureDen
  3. Install dependencies:

    pnpm install
  4. Add environment variables — create apps/web/.env.local and apps/studio/.env.local (see Environment Variables).

  5. Start both apps:

    pnpm dev
  6. Open the frontend at http://localhost:3000 and the Sanity Studio at http://localhost:3333.

🔐 Environment Variables

apps/web/.env.local

NEXT_PUBLIC_SANITY_PROJECT_ID=
NEXT_PUBLIC_SANITY_DATASET=
NEXT_PUBLIC_SANITY_API_VERSION=
NEXT_PUBLIC_SANITY_STUDIO_URL=
SANITY_API_READ_TOKEN=
SANITY_API_WRITE_TOKEN=
AUTH_SECRET=
AUTH_GITHUB_ID=
AUTH_GITHUB_SECRET=
GEMINI_API_KEY=

apps/studio/.env.local

SANITY_STUDIO_PROJECT_ID=
SANITY_STUDIO_DATASET=
SANITY_STUDIO_TITLE=
SANITY_STUDIO_PRESENTATION_URL=
SANITY_STUDIO_API_VERSION=

All variables are validated at startup with Zod via @workspace/env. Any new variable must also be added to turbo.json globalEnv so Vercel cache invalidation works.

📜 Scripts

Run from the repo root (Turborepo fans out to both apps):

Command Description
pnpm dev Run web (:3000) and studio (:3333) in dev mode
pnpm dev:web Run only the Next.js app
pnpm dev:studio Run only the Sanity Studio
pnpm build Production build of all apps
pnpm lint Lint with Biome / Ultracite
pnpm format Format and auto-fix
pnpm check-types Type-check with TypeScript

After editing any Sanity schema, regenerate types from apps/studio:

cd apps/studio
pnpm extract   # write schema.json
pnpm type      # regenerate packages/sanity/src/sanity.types.ts

🏗 Architecture

  • Content flow — Schemas live in apps/studio/schemaTypes/; GROQ queries in packages/sanity are fetched server-side via a defineLive wrapper for automatic revalidation. All frontend types are derived from generated Sanity types.
  • Page builder — An array of typed blocks rendered by apps/web/src/components/pagebuilder.tsx, mapping each _type to a React component with click-to-edit visual editing.
  • AI analysisapps/web/src/lib/gemini.ts calls Google Gemini; the response is validated with Zod (clarity / market positioning / uniqueness scores + suggestions) and rendered in the pitch detail view.
  • Auth — NextAuth v5 with GitHub; on first sign-in the GitHub avatar is uploaded to Sanity and an author document is created, with the Sanity author _id carried through the session.

🔧 Contributing

contributors

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the repo
  2. Create a new branch (git checkout -b improve-feature)
  3. Make your changes
  4. Commit your changes (git commit -am 'Improve feature')
  5. Push to the branch (git push origin improve-feature)
  6. Open a Pull Request

Please read CONTRIBUTING.md and SECURITY.md before submitting.

🚀 Follow Me

Follow Me LinkedIn Tweet about this project

📃 Deployment

Method Description Action
🔧 Manual Build Create an optimized production build. pnpm build
▲ Vercel (Recommended) Deploy instantly on the Vercel platform. Deploy with Vercel

For more details, check the Next.js deployment docs.

⭐ Give A Star

If you found this project useful, give it a star to help more people discover it!

🌟 Star History

Star History Chart

(back to top)

About

AI-powered startup pitch platform — founders pitch ideas, get instant Gemini AI feedback, and connect with investors. Built with Next.js 16, Sanity CMS, TypeScript & Turborepo.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages