NoteLift
Inspiration
As a student, I noticed a recurring friction while studying from PDFs and online material. I would highlight important text, but later those highlights stayed scattered across files, tabs, and pages. Before exams, revising meant reopening PDFs and refinding the same sections again.
I wanted a way to lift important highlights out of study material and turn them into clean, structured revision notes, without switching tools or breaking focus.
What it does
NoteLift is a lightweight browser extension that lets users highlight text on webpages or PDFs and save it into module-wise revision notes using a simple right-click action.
Users can:
- Set a module name (e.g., "Module 2 – Numerical Methods")
- Highlight important text
- Right-click → Save to NoteLift
- Export all notes as TXT or Markdown for revision
All notes are stored locally in the browser, with no login and no cloud sync.
How I built it
NoteLift is built as a Chrome extension using Manifest V3. It uses context menus to capture highlighted text, browser local storage to organize notes by module, and the downloads API to export notes in different formats.
The focus was on:
- Minimal UI
- Fast capture flow
- Offline-first design
- Zero data collection
Challenges I ran into
One challenge was handling different types of PDFs. While text-based PDFs work well, scanned or image-based PDFs do not expose selectable text. This helped me clearly separate what belongs in the first stable release versus what should be planned as a future feature.
Another challenge was ensuring the extension met Chrome Web Store privacy and permission requirements while keeping the feature set minimal.
What's next for NoteLift
Planned improvements include:
- Optional on-device OCR support for image-based PDFs
- Better formatting for exported Markdown notes
- Firefox add-on support
The goal is to keep NoteLift simple, reliable, and student-focused.
Built With
- browser
- chrome-extensions-api-(manifest-v3)
- css
- html
- javascript
- localstorage
Log in or sign up for Devpost to join the conversation.