O-note

O(note)

A Chromium browser extension for taking notes on DSA questions
Detects when you’re on a single question page (LeetCode or Codeforces)
Supports Markdown notes, labels, autosave, export/import, and browsing all saved notes in one place.

Features

Requirements

Installing without building

If you’d rather not build from source, download a pre-built zip from the Releases page:

  1. Download the zip for the version you want.
  2. Extract it:
    • Windows: right-click the zip → Extract All
    • macOS: double-click the zip — Finder extracts it into a new folder automatically
    • Linux: unzip <file>.zip -d <folder>

Setup (build from source)

npm install
npm run build

This produces a dist/ folder — the actual loadable extension.

Loading into the browser

  1. Open chrome://extensions
  2. Enable Developer mode (toggle, top-right)
  3. Click Load unpacked
  4. Select the dist/ folder or unzipped folder
  5. Open a question page, e.g. https://leetcode.com/problems/two-sum/ or https://codeforces.com/problemset/problem/2256/A

Using O(note)

When you open a supported question page, O(note) detects the question and provides a floating notes panel.

Use the panel to write and save notes while solving the problem. Notes are autosaved and stored locally in the extension’s IndexedDB database.

The extension popup provides quick access to:

The View page lets you search through saved notes and filter them by site or label. Notes can also be sorted by when they were last updated.

Keyboard Shortcuts

Shortcut Action
Alt + L Toggle the panel open/closed. Opening focuses the note and moves the cursor to the end of existing text (or the start, for a fresh question).
Alt + K Switch between edit mode (raw markdown) and preview mode (rendered).

Chrome may not automatically assign these shortcuts when the extension is installed in a new browser profile. If a shortcut is not set:

  1. Open chrome://extensions/shortcuts
  2. Find O(note)
  3. Click the pencil icon next to the desired command
  4. Press the shortcut you want to assign

The shortcuts can be changed or removed from Chrome’s extension shortcut settings.

Inspecting stored notes

Notes are stored in IndexedDB, owned by the extension’s background service worker.

  1. Go to chrome://extensions
  2. Click the “service worker” link on this extension’s card
  3. In the DevTools window that opens, go to Application → IndexedDB → DsaNotesDB → notes

You will not see note data under a LeetCode or Codeforces tab’s own Application panel — IndexedDB opened from a page is scoped to that page’s origin, not the extension. The service worker is the one place with a consistent view of all stored notes across every supported site.

Supported Sites