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
Table of Contents
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.
| 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 |
VentureDen is built using the following technologies:
- TypeScript: Typed superset of JavaScript.
- Next.js 16: React framework with App Router, React Compiler & Turbopack.
- React 19: UI library.
- Sanity v5: Headless CMS with visual editing and live preview.
- Tailwind CSS v4: Utility-first CSS framework.
- shadcn/ui + Radix UI: Accessible component primitives.
- Google Gemini: Generative AI for pitch analysis.
- NextAuth.js v5: Authentication with GitHub OAuth.
- Motion: Animation library for React.
- Tiptap + Novel: Rich-text editing.
- TanStack Query & SWR: Client data fetching.
- Fuse.js: Lightweight fuzzy search.
- Zod + T3 Env: Schema & environment validation.
- Turborepo: Monorepo build orchestration & caching.
- Biome + Ultracite: Fast linter & formatter.
- pnpm: Fast, disk-efficient package manager.
- Vercel: Deployment platform.
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
-
Make sure Git, Node.js 22+ and pnpm 10+ (via
corepack enable) are installed. -
Fork this repository and clone your fork:
git clone https://github.com/<your-username>/VentureDen.git cd VentureDen
-
Install dependencies:
pnpm install
-
Add environment variables — create
apps/web/.env.localandapps/studio/.env.local(see Environment Variables). -
Start both apps:
pnpm dev
-
Open the frontend at http://localhost:3000 and the Sanity Studio at http://localhost:3333.
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 toturbo.jsonglobalEnvso Vercel cache invalidation works.
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- Content flow — Schemas live in
apps/studio/schemaTypes/; GROQ queries inpackages/sanityare fetched server-side via adefineLivewrapper 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_typeto a React component with click-to-edit visual editing. - AI analysis —
apps/web/src/lib/gemini.tscalls 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
authordocument is created, with the Sanity author_idcarried through the session.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the repo
- Create a new branch (
git checkout -b improve-feature) - Make your changes
- Commit your changes (
git commit -am 'Improve feature') - Push to the branch (
git push origin improve-feature) - Open a Pull Request
Please read CONTRIBUTING.md and SECURITY.md before submitting.
| Method | Description | Action |
|---|---|---|
| 🔧 Manual Build | Create an optimized production build. | pnpm build |
| ▲ Vercel (Recommended) | Deploy instantly on the Vercel platform. |
For more details, check the Next.js deployment docs.
If you found this project useful, give it a star to help more people discover it!



