📋 Table of Contents
Pitchify is a Next.js 15-based platform designed for entrepreneurs to showcase their startup ideas through virtual pitch competitions. Users can submit their pitches, browse other ideas, and gain exposure, all through a clean and minimalistic design optimized for a smooth user experience.
- React 19
- Next.js 15
- Sanity
- TailwindCSS
- ShadCN
- TypeScript
-
Live Content API: Fetch and display the latest startup ideas dynamically from Sanity’s Content API, ensuring the homepage is always fresh with new ideas.
-
GitHub Authentication: Easy user authentication using GitHub accounts, eliminating the need for separate login systems.
-
Pitch Submission: Users can submit startup ideas, including a title, description, category, and multimedia links (images or videos).
-
Browse Pitches: Explore submitted startup ideas with filtering options by category to help users find relevant pitches.
-
Pitch Details Page: View the detailed information for each pitch, including images, videos, and descriptions.
-
Profile Page: Users can see the list of pitches they've submitted, allowing them to track their contributions.
-
Editor Picks: Admins can curate and highlight top startup ideas using the "Editor Picks" feature, managed via the Sanity Studio.
-
Views Counter: Instead of upvoting, the number of views each pitch has received is tracked, giving a clear measure of its popularity.
-
Search: Efficient search functionality to find and view pitches quickly.
-
Minimalistic Design: Clean and modern UI with only the essential pages to keep things simple and easy to navigate.
Follow these steps to set up the project locally on your machine:
Ensure you have the following installed:
- Git
- Node.js
- npm (Node Package Manager)
- Clone the repository:
git clone "<repository-link>" cd pitchify
Install the project dependencies using npm:
npm install Set Up Environment Variables
Create a new file named .env.local in the root of your project and add the following content:
NEXT_PUBLIC_SANITY_PROJECT_ID=<your-sanity-project-id>
NEXT_PUBLIC_SANITY_DATASET=<your-sanity-dataset>
NEXT_PUBLIC_SANITY_API_VERSION=<your-sanity-api-version>
SANITY_TOKEN=<your-sanity-token>
AUTH_SECRET=<your-auth-secret>
AUTH_GITHUB_ID=<your-github-auth-id>
AUTH_GITHUB_SECRET=<your-github-auth-secret>
Replace the placeholder values with your actual Sanity credentials. You can obtain these credentials by signing up & creating a new project on the Sanity website.
Running the Project
npm run dev Open http://localhost:3000 in your browser to view the project.

