Short description

PlayNotes is a Chrome extension that turns saved web text and personal notes into a lightweight listening library. Capture selected text from any page, organize notes into playlists, and play them back with browser speech synthesis so reading material becomes a hands-free audio queue.

Long description

PlayNotes helps people turn scattered reading material into an organized listening workflow. Instead of leaving useful articles, snippets, references, and study material across tabs or bookmarks, PlayNotes lets users save selected text from the browser, capture the current page, organize notes into playlists, search their library, and listen with auto-play next.

The core experience is intentionally lightweight: collect something while browsing, structure it into a playlist, and listen later when reading is inconvenient. It is useful for students, researchers, builders, and professionals who want to convert reading queues into audio without adopting a heavy knowledge-management system.

What it does

  • Creates, edits, searches, and plays notes.
  • Captures selected webpage text with the right-click Add to PlayNotes action.
  • Captures current page context into a new note.
  • Organizes saved notes into playlists.
  • Continues listening with browser speech synthesis and auto-play next.
  • Supports local storage, playback progress, voice/speed controls, and a Chrome keyboard shortcut.
  • Packages as a Manifest V3 Chrome extension.

How it was built

PlayNotes is a vanilla JavaScript Chrome extension built on Manifest V3. It uses:

  • chrome.storage.local for notes, playlists, queue state, settings, and playback progress.
  • chrome.contextMenus for selected-text capture.
  • chrome.action and popup UI for the main extension experience.
  • chrome.tts and an offscreen document for more durable audio playback.
  • A content script for in-page capture affordances.
  • Local validation and packaging scripts so judges can quickly test the extension.

How Codex and GPT-5.6 were used

Codex with GPT-5.6 was used to prepare the project for OpenAI Build Week submission. It helped:

  • Verify the correct source folder for PlayNotes.
  • Inspect the Manifest V3 Chrome extension structure.
  • Run the local validation script.
  • Package the extension artifact for judges.
  • Read the OpenAI Build Week Devpost requirements.
  • Draft the project description, setup guidance, and demo script.

Challenges

The main challenge was keeping the product simple and judge-testable while covering multiple browser-extension surfaces: popup UI, background service worker, content script, offscreen audio, permissions, local storage, and packaging. PlayNotes needed to feel like a coherent product rather than a loose set of extension APIs.

Accomplishments

  • Working Chrome extension.
  • Local note library with playlists and search.
  • Selected-text capture from webpages.
  • Text-to-speech playback with queue/auto-next behavior.
  • Offscreen audio support for continued listening.
  • Fresh packaged artifact for testing.
  • Clear README with local install instructions.

What we learned

Small browser extensions can create meaningful everyday workflows when they reduce friction at the exact moment of intent. PlayNotes turns "I should read this later" into "I can listen to this later" with very little ceremony.

What's next

  • Add cloud sync across devices.
  • Add smarter AI tagging and summarization.
  • Add playlist generation from captured notes.
  • Add PDF/article cleanup.
  • Add Chrome Web Store publishing.
  • Add study-question generation for learners.

Installation instructions for judges

  1. Download or clone the repository.
  2. Open Chrome and go to chrome://extensions.
  3. Enable Developer mode.
  4. Click Load unpacked.
  5. Select the PlayNotes extension folder.
  6. Pin and open PlayNotes.
  7. Create a note, highlight text on a webpage, right-click Add to PlayNotes, organize the note into a playlist, and press play.

Packaged artifact

A packaged Chrome extension zip was prepared locally as playnotes-1.0.0.zip.

Built With

Share this project:

Updates