URL: https://lahacks-kpg2-2cjvqzcg6-echen1246s-projects.vercel.app/ Devpost: https://devpost.com/software/syllab-ai
This application helps students learn from their course syllabi by extracting text from uploaded syllabi (image, PDF, or text) and using Google's Gemini 2.0 Flash API to generate:
- A chronological list of YouTube videos covering the course topics
- A comprehensive study guide organized by topics
- Upload syllabus in image, PDF, or text format
- Extract text using OCR (Tesseract.js) and PDF processing
- Generate chronological video recommendations with the Gemini API
- Create a detailed study guide for course topics
- Modern responsive UI with Tailwind CSS
- Node.js 18.17 or later
- A Google Gemini API key
- A YouTube Data API v3 key
- Clone the repository:
git clone <repository-url>
cd lahacks-app- Install dependencies:
npm install- Create a
.env.localfile in the root directory and add your API keys:
NEXT_PUBLIC_GEMINI_API_KEY=your_gemini_api_key_here
NEXT_PUBLIC_YOUTUBE_API_KEY=your_youtube_api_key_here
You can get a Gemini API key from the Google AI Studio. You can get a YouTube Data API key from the Google Cloud Console.
Run the development server:
npm run devOpen http://localhost:3000 with your browser to see the result.
- Upload a syllabus file (image, PDF, or text) by dragging and dropping or clicking the upload area
- Wait for the text extraction and processing
- View the recommended videos and study guide in the tabs
- Click on videos to expand and watch embedded content
- Frontend: Next.js with React, TypeScript, Tailwind CSS
- OCR/Text Extraction: Tesseract.js (images), pdf.js (PDFs)
- AI: Google Gemini 2.0 Flash API
- Deployment: Ready for Vercel deployment
The recommended way to deploy this Next.js application is using Vercel.
- Push your code to a Git repository (e.g., GitHub, GitLab, Bitbucket).
- Sign up or Log in to Vercel using your Git provider account.
- Import Project: Click "Add New..." > "Project" and select the Git repository you pushed your code to.
- Configure Project: Vercel should automatically detect that this is a Next.js project and configure the build settings correctly.
- Add Environment Variables: Navigate to the project settings > "Environment Variables". Add the following variables:
NEXT_PUBLIC_GEMINI_API_KEY: Your Google Gemini API key.NEXT_PUBLIC_YOUTUBE_API_KEY: Your YouTube Data API v3 key. Ensure these are set for all environments (Production, Preview, Development).
- Deploy: Click the "Deploy" button. Vercel will build and deploy your application.
Your site will be deployed to a .vercel.app URL. You can also add a custom domain later through the Vercel dashboard.