Skip to content

AI service that turns youtube videos into your own personal notes

Notifications You must be signed in to change notification settings

JustinK33/NoteTube

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NoteTube

An AI-powered web app that turns your favorite YouTube video tutorials into organized and structured notes


Tech Stack

  • Python
  • Django
  • Nginx
  • k6
  • AWS EC2
  • PostgreSQL
  • Docker
  • Tailwind CSS
  • Gunicorn
  • OpenAI
  • AssemblyAI

Features (updating...)

  • End-to-end app flow

    • Frontend + backend integrated into a fullstack app
    • Authenticated users can:
      • Sign up / log in
      • Create notes with AI
  • API-Chain Pipeline

    • Turn YouTube videos into transcripts via AssemblyAI.
    • Transcripts get plugged into the prompt to create structured notes.

📚 What I Learned From This Project

  • Reverse Proxy via Nginx Integrated a reverse proxy via Nginx sitting in front of my webserver Using light-weight version of the heavy NGINX image, nginx:alpine, significantly improving static assest performance

  • Deployment via AWS EC2 instance Deployed and configured EC2 instance for hosting a web application

  • Load and stress testing with k6 Implemented k6-based load and stress tests to validate API performance, latency,** throughput (req/s)** and error rates under realistic traffic patterns.

  • Managing multiple containers Defined, configured, and managed a multi-container application.

  • Working with Django
    I learned how to work with the Django framework and its quick-to-develop qualities, like a built-in authentication system.

  • API-Chain Pipeline I Learned how to chain API outputs into inputs by feeding AssemblyAI transcripts into OpenAI to produce clean, structured notes.

  • OAuth for 3rd party account authorization I learned how to integrate OAuth into a Django web app via AllAuth (Google OAuth) for enhanced security and convenience.

  • Tailwind CSS
    I worked on adding some styling using Tailwind CSS instead of just using normal CSS.


Running the Project

To run the project locally, follow these steps:

  1. Clone the repo (git clone )
  2. Create a virtual environment (python3 -m venv venv)
  3. Activate the environment (source venv/bin/activate)
  4. Install requirements (pip install -r requirements.txt)
  5. Run locally (python manage.py runserver)

Run with Docker

  1. Build image (docker build -t notetube:latest)
  2. Run image (docker run --rm -p 8000:8000 --env-file .env notetube:latest)

About

AI service that turns youtube videos into your own personal notes

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published