ai note taking app you host yourself
  • Python 62.9%
  • HTML 29.9%
  • JavaScript 7.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-08-27 10:48:06 -04:00
.continue/rules test 2026-08-26 21:39:59 -04:00
__pycache__ fixed md rendering 2026-08-27 08:42:50 -04:00
instance cleared data 2026-08-27 10:48:06 -04:00
readme_data readme 2026-08-26 22:58:13 -04:00
static dark mode 2026-08-26 22:37:26 -04:00
templates fixed name 2026-08-27 09:46:17 -04:00
tests fixed md rendering 2026-08-27 08:42:50 -04:00
.env.example cleared data 2026-08-27 10:48:06 -04:00
app.py fixed md rendering 2026-08-27 08:42:50 -04:00
image.png readme 2026-08-26 22:58:13 -04:00
README.md readme 2026-08-26 22:58:13 -04:00
requirements.txt test 2026-08-26 21:39:59 -04:00
services.py fixed md rendering 2026-08-27 08:42:50 -04:00

Lecture Library

A semi quick vibe coded project because I needed it for school

A private, local Flask app for recording/uploading lectures, creating course libraries, transcribing audio with Whisper, and generating study summaries through Ollama.

alt text

Setup

  1. Install Python 3.10+ and FFmpeg, ensuring ffmpeg is on your PATH.
  2. Create and activate a virtual environment, then run pip install -r requirements.txt.
  3. Install Ollama, then run ollama pull llama3.2 and start the Ollama service.
  4. Copy .env.example to .env; adjust the model or storage settings if required.
  5. Run python app.py, then open http://127.0.0.1:5000.

Whisper downloads its selected model automatically the first time a lecture is processed. Use WHISPER_MODEL=tiny, base, small, or another Whisper model according to your hardware.

Notes

  • Audio and SQLite data are local in instance/ by default. Back up this directory to preserve your library.
  • Browser recording needs microphone permission and is saved as WebM before entering the standard upload pipeline.
  • FFmpeg is required by Whisper to read many audio formats. Ollama must be running at OLLAMA_URL and have OLLAMA_MODEL available.
  • Processing activity and full error tracebacks are written to instance/lecture-library.log. Set LOG_LEVEL=DEBUG in .env for more detail.