An AI-powered web app that turns your favorite YouTube video tutorials into organized and structured notes
- Python
- Django
- Nginx
- k6
- AWS EC2
- PostgreSQL
- Docker
- Tailwind CSS
- Gunicorn
- OpenAI
- AssemblyAI
-
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.
-
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.
- Clone the repo (git clone )
- Create a virtual environment (python3 -m venv venv)
- Activate the environment (source venv/bin/activate)
- Install requirements (pip install -r requirements.txt)
- Run locally (python manage.py runserver)
- Build image (docker build -t notetube:latest)
- Run image (docker run --rm -p 8000:8000 --env-file .env notetube:latest)