Belva.
Back to Works
CMS

YC Directory

Founder Pitch Deck & Startup Collaboration Directory

#Next.js#React#Sanity CMS#Auth.js#GitHub OAuth#Tailwind CSS#TypeScript

01. Problem Identification

Early-stage startup founders face high friction when launching products, publishing pitch decks, and collecting early feedback from peers or developers. Established databases (like Crunchbase) are geared towards funded companies, while generic forums lack structured product pitch metrics and upvote tracking.

PAIN POINT 01

Lack of an open, YC-style pitch directory tailored for solo founders.

PAIN POINT 02

High development overhead required to build robust real-time upvote systems.

PAIN POINT 03

Complex user authentication processes that increase onboarding friction.

02. The Solution

YC Directory addresses this by pairing Next.js App Router with Sanity CMS. Founders authenticate with a single click using GitHub OAuth via Auth.js, publish markdown-formatted product pitches, and receive community upvotes. Dynamic GROQ APIs fetch and order projects based on real-time feedback loops. (Note: This project was built as a learning case study following the JavaScript Mastery YouTube channel tutorial.)

Instant GitHub OAuth

Leverages Auth.js (NextAuth) to verify developers and founders securely without passwords.

Headless CMS Integration

Uses Sanity Studio for real-time schema editing, image handling, and GROQ query parsing.

Incremental upvote sync

Enables instant upvote mutations directly syncing with Sanity GROQ datasets.

03. Crafting & Engineering

System Architecture Flow

#01Next.js Frontend ClientServer Component page caching & Client upvote triggers
Next.js / Tailwind
#02Auth.js (NextAuth)GitHub OAuth validation and session session provider
Auth.js
#03Sanity Headless CMSGROQ ledger hosting author schemas, pitch decks & upvote tallies
Sanity.io

Technology Selection

Next.js App RouterEnables static incremental generation (ISR) for product detail pages while supporting dynamic client components.
Sanity.io CMSDecoupled headless data layer allowing schema modifications and super-fast GROQ reads.
Auth.jsProvides secure cookie-based session management integrated with GitHub login APIs.
Tailwind CSSMaintains design system uniformity across product lists, profile cards, and forms.

Key Engineering Challenges Solved

  • Enforcing secure write access permissions on Sanity mutations to prevent spoofed or repeated votes.
  • Configuring instant type generation using Sanity typegen bindings in a TypeScript Next.js workspace.
  • Structuring the layout to handle large markdown files rendered on edge servers.