turning messy lecture recordings into study guides — one fuzzy audio file at a time
Upload your chaotic lecture audio or video. Get back organized markdown notes with key concepts, definitions, and practice questions. The LLM listens, summarizes, and cross-references concepts across multiple lectures to catch patterns. Outputs are searchable and can be exported to Anki for spaced repetition.
Built for students who record lectures but never review them. That was me. This is the fix.
I had 47GB of lecture recordings from last semester sitting on my hard drive. I told myself I'd "review them later." I never did. Nobody does.
Turns out the problem isn't that students don't want to review — it's that reviewing a 90-minute recording is painful. You're scrubbing through timestamps, trying to find where the prof said something about mitochondria, and by the time you find it you've forgotten why you were looking.
So I built something that does the listening for you.
The market is obvious: every student with a phone records lectures. Most of them never touch those recordings again. This turns dead files into something useful.
Shipped v0 in 4 hours. 100 signups in 24 hours. Users are loving it.
- Upload any format — mp3, mp4, m4a, webm, wav. If it's a recording, we'll process it.
- Cross-lecture pattern detection — upload 3 lectures on the same topic and it'll surface concepts that appear across all of them. This was a "wouldn't it be cool if" feature that actually works.
- Anki export — one click, you get a .apkg file. Spaced repetition without the friction.
- Searchable notes — every generated note is full-text searchable. No more digging through folders.
- Doubling weekly on active users. Not huge numbers yet, but the retention curve looks good.
- Python 3.11
- Flask
- Jinja templates
- SQLite (SQLAlchemy ORM)
- Flask-Login for auth
- Authlib for Google OAuth
- whisper.cpp (local transcription)
- OpenAI API (summarization + concept extraction)
Tested on macOS Sonoma + Python 3.11. YMMV on Windows.
git clone https://github.com/yourusername/lecture-note-generator.git
cd lecture-note-generatorpython3 -m venv venv
source venv/bin/activate # on Windows: venv\Scripts\activatepip install -r requirements.txtcp .env.example .envOpen .env and fill in the placeholders.
- Go to Google Cloud Console
- Create a new project (or select existing)
- Enable the Google+ API (or just OAuth consent screen — Google's docs are confusing, just enable what it asks for)
- Go to APIs & Services > Credentials
- Click Create Credentials > OAuth 2.0 Client IDs
- Application type: Web application
- Add
http://localhost:5000/callbackto Authorized redirect URIs - Copy the Client ID and Client Secret into
.env
Note: the OAuth flow doesn't work in incognito mode for some reason, idk.
python -c "from app import db; db.create_all()"flask run
# or
python app.pyOpen http://localhost:5000 in your browser.
- Lecture series mode — upload a whole semester's worth of recordings, get a complete study guide organized by topic
- Anki deck merging — combine notes from multiple courses into one spaced repetition workflow
- Mobile upload — the app works on desktop but most students record on their phones. Web app is fine for now, native is the next milestone.
- Real-time transcription — process recordings as they happen, not after. This one's ambitious but the tech is almost there.
- Collaborative notes — share generated notes with study groups. Thinking about how to do this without making it a full social product.
Iterating fast. Thinking out loud. More soon.
I'm building this in public on X/Twitter: @yourhandle
Also on IndieHackers — same handle.
Drop a follow if you want to watch me figure out production deployment at 3am.
shipped at 3am. v0 in 4 hours. 0 to 1. more soon.