Project Info
This project did not submit a demo video on Devpost.
The inspiration for our project, LectureGen, comes from our experience trying to learn about a new domain through papers. These papers, unintentionally or not, often create a boundary for non-experts to understand what’s going on. But whenever our professors create a lecture on the paper for a journal club, they are actually quite straightforward and even inspire us to learn more. With LectureGen, people can digest any paper they want to read in an easy-to-understand YouTube lecture. That lecture can help others who are grappling with the same paper since it’s on YouTube for others to see! Our aim is to lower the barrier for others to dive into new fields and learn what they want to learn with how they learn best. In LectureGen, we take your choice of a paper and we take care of the rest to get your desired lecture. If you choose to watch the YouTube video on our application, you have the option to interrupt the lecture to get clarification on whatever you need! Whether you prefer to take your videos at your own pace or want a little extra help while you’re watching, our application LectureGen has got you covered. We initially process the PDFs with Gemini’s great vision capabilities so that we don’t have unnecessary parts of the paper in content while making the lecture. Our lectures are synthesized with o1-preview to create the most high-quality lecture, and then we have a model create the concise slides along with the in-depth speaker notes that are spoken aloud with Cartesia’s text to speech. Having all three modes of absorbing the information really helps keep you focused and understand the material better just like your professor does! If you watch the videos on our platform, you can interrupt the lecture to talk to our empathetic voice agent powered by Hume whose context is seeded by our RAG pipeline over the paper using Chroma. YouTube doesn’t allow you to upload a video programmatically without doing OAuth by the YouTube account. We found a reasonable tradeoff with our admin panel that approves the videos that a user has generated before uploading them to YouTube. o1-preview doesn’t support structured outputs natively and requires different prompting from other LLMs, so we had to work around that with smaller models to do the parts that it natively couldn’t. Integrating everything! We used many different technologies and had to connect them all together which took longer than expected. We want to have auto-replies on the YouTube channel for each video based on what’s going on in our platform. We think this could create a whole new type of interaction on YouTube where people can learn whatever they want while also getting immediate feedback, all in public. Lots of these LLM tools silo the knowledge that people get which is worse for everyone, and we’d like to help change that. Dynamically change the lectures as we get more information about the user and what peaks their interest in the lecture. This is how I’ve seen good professors do lectures and is something I’d want to see.
This repository has no readme, or GitHub could not be reached.
Analysis
View
Metric
- 27
- 25
- 4
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CSSIn code
- FastAPIIn code
- Google GeminiIn code
- Hugging FaceIn code
- JavaScriptIn code
- Next.jsIn code
- PythonIn code
- PyTorchIn code
- ReactIn code
- StreamlitIn code
- SupabaseIn code
- Tailwind CSSIn code
- TypeScriptIn code
13 of 13 appear in the indexed code.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
1.9 MB
Source files
135
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
degtrdg/paper-to-lecture
173 files · 32.8 MB · @ b0e56bb
Structure
Interface
40 files · 23%Screens, components and styles rendered to the user.
API & routing
9 files · 5%Request entry points: routes, handlers and controllers.
Application logic
62 files · 36%Domain rules, services and shared utilities.
+6 moreData & schema
8 files · 5%Schema definitions, migrations and data access.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- Markdown85%
- Python7%
- TypeScript7%
- Shell0%
- YAML0%
- CSS0%
- Other (1)0%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
frontend/package.json
npm · 41- @cartesia/cartesia-js
- @google/generative-ai
- @humeai/voice
- @humeai/voice-react
- @instructor-ai/instructor
- @radix-ui/react-checkbox
- @radix-ui/react-dropdown-menu
- @radix-ui/react-label
- @radix-ui/react-slot
- @supabase/auth-helpers-nextjs
- @supabase/ssr
- @supabase/supabase-js
- autoprefixer
- axios
- class-variance-authority
- clsx
- framer-motion
- geist
- +23 more
marker/pyproject.toml
pypi · 20- filetype
- ftfy
- modal
- pdftext
- Pillow
- pydantic
- pydantic-settings
- python-dotenv
- rapidfuzz
- regex
- surya-ocr
- tabled-pdf
- tabulate
- texify
- torch
- tqdm
- transformers
- +3 more
requirements.txt
pypi · 17- beautifulsoup4
- fastapi
- google-api-python-client
- google-auth
- google-auth-httplib2
- google-auth-oauthlib
- instructor
- markdown
- moviepy
- Pillow
- pydantic
- PyPDF2
- python-dotenv
- python-multipart
- requests
- supabase
- uvicorn
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.