YouNote is an AI-powered note taking Web-app for effortless learning. Instantly generate clear, concise notes from any YouTube video or selected Topic. Just paste a Youtube URL or enter a Topic you want study notes on. All your notes are saved for access later, so you can revisit key insights also the original Youtube video/ topic anytime. I used marked.js for making the readibility of notes pleasurable for users as markeddown formating and styling is pre-applied to all notes. Further users can always edit and delete notes as they need.
Chek out the deployed project on render: https://younote-ai.onrender.com/
- Backend: Python, Django
- DataBase: PosgresSQL
- Frontend: HTML, CSS, Javascript, Tailwind, Marked
- APIs: PyTube, OpenAI, AssemblyAI
- Hosting: Render
- User authentication (signup, login)
- Generates Notes based on Youtube URL or topic input by user
- for youtube URL Downloads audio from a YouTube link via Pytube, then transcribes audio via AssemblyAI
- Generates study-style notes using OpenAI
- Displays notes in Markdown format using Marked.js (an open source markdown parser and compiler)
- Stores generated notes per user in the database
- Allows user to edit and delete saved notes
- Python 3.11+
- Django 4+
- pytubefix
- assemblyai (for transcription)
- openai (for text generation)
- Other deps in requirements.txt (all required deps are in this file)
Create a .env or configure environment variables:
ASSEMBLYAI_KEY=your_assemblyai_key
OPENAI_KEY=your_openai_key
DJANGO_SECRET_KEY=your_secret_key
DB_Password=your_DB_password
(Names correspond to keys referenced with python-decouple config() in views.)
- Create and activate virtualenv:
powershell:
cmd:
python -m venv myenv .\myenv\Scripts\Activate.ps1python -m venv myenv myenv\Scripts\activate - Install dependencies:
pip install -r requirements.txt - Add env vars (or use a
.envfile).
DATABASES = {
'default': {
'ENGINE': 'Set up based on your DB',
'NAME': 'Set up based on your DB',
'USER': 'Set up based on your DB',
'PASSWORD':config('Set up based on your DB'),
'HOST':'Set up based on your DB',
'PORT': 'Set up based on your DB',
}
}
python manage.py makemigrations
python manage.py migrate
python manage.py runserver