Skip to content

Latest commit

 

History

102 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

YC Directory

A startup directory platform where builders can publish startup ideas, browse other pitches, and discover founders.

This is a personal full-stack project I built to explore modern product development workflows with a content-driven platform.

Table of Contents

  1. Links
  2. What This App Does
  3. Tech Stack
  4. Project Highlights
  5. Getting Started
  6. Available Scripts
  7. Content Management (Sanity Studio)
  8. Notes

Links

What This App Does

  • GitHub authentication for sign in/sign out
  • Create and submit startup pitches
  • Browse all startups on the home page
  • Search startups by title, category, or author name
  • View individual startup details
  • Track startup view counts
  • View founder profiles and their submitted startups
  • Manage and curate content through Sanity Studio

Tech Stack

  • Next.js 16 (App Router)
  • React 19
  • TypeScript 5
  • Tailwind CSS 4
  • NextAuth v5 (GitHub provider)
  • Sanity CMS + next-sanity
  • shadcn/ui + Radix UI
  • Sentry (error monitoring setup)

Project Highlights

  • Built with a modern App Router architecture using the latest Next.js and React versions
  • Structured with reusable components and typed server/client boundaries
  • Integrated CMS-backed content workflows with authenticated user actions

Getting Started

1. Prerequisites

  • Node.js 20+
  • npm
  • A Sanity project
  • A GitHub OAuth app

2. Clone and Install

git clone git@github.com:ebubecodes/yc-directory.git
cd yc-directory
npm install

3. Configure Environment Variables

Create a .env.local file in the project root:

NEXT_PUBLIC_SANITY_PROJECT_ID=
NEXT_PUBLIC_SANITY_DATASET=
NEXT_PUBLIC_SANITY_API_VERSION=
SANITY_WRITE_TOKEN=

AUTH_SECRET=
AUTH_GITHUB_ID=
AUTH_GITHUB_SECRET=

Notes:

  • SANITY_WRITE_TOKEN is required for write operations (creating content and updating views).
  • NEXT_PUBLIC_SANITY_API_VERSION can be set to a date string (example: 2025-11-22).

4. Run the App

npm run dev

Open http://localhost:3000

Available Scripts

  • npm run dev - Start development server (Turbopack)
  • npm run build - Build for production
  • npm run start - Start production server
  • npm run lint - Run lint checks
  • npm run typegen - Regenerate Sanity schema extract + TypeScript types

Content Management (Sanity Studio)

Sanity Studio is available in-app at:

  • /studio

Use it to manage authors, startups, and playlist/editor-pick style curation.

Notes

This project is actively maintained and serves as part of my portfolio work around full-stack TypeScript applications.

About

YC directory

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages