Browser Extension · Chrome & Edge

ptNotes — turn any webpage
into your workspace

Highlight, annotate, capture screenshots, record your screen, and run on‑device AI (OCR & transcription) — then sync across devices or share with people you choose. Private by design.

6+capture tools in one
100%on‑device AI
0ads & trackers
MV3modern, secure

One extension, every capture tool

ptNotes replaces a stack of separate apps — highlighter, note-taker, screenshot tool, screen recorder, OCR and transcriber.

🖍️

Highlight & annotate

Multi-color highlights on any page, with notes attached via typing or voice-to-text. Auto-organised, searchable, foldered.

📌

Sticky notes

Pin draggable notes anywhere on a page, with voice input and read-aloud.

📸

Screenshots

Full or region capture, saved alongside the source page and highlight.

🎥

Screen recording

Permission-based screen + mic capture via native browser APIs, with a clean WebCodecs→MP4 pipeline.

🔍

On-device AI

OCR (Tesseract) and speech-to-text transcription (Whisper via Transformers.js) — runs locally, no data leaves the device.

📄

Export

Turn notes and transcripts into PDF, Word, and PowerPoint documents.

☁️

Cloud sync

Optional Google sign-in syncs content to a private per-user space across devices.

🤝

Granular sharing

Connect with others and share only chosen content types — enforced by a feature-intersection permission model.

🔒

Private by design

No ads, no behavioural tracking. Your content stays on your device until you sign in; then it syncs to your own private, access-controlled account.

How it works

Select

Highlight text on any page and pick a color.

Capture

Add notes, sticky notes, screenshots, or screen recordings from the toolbar.

Understand

Run OCR & transcription on-device; generate summaries and export.

Sync & share

Sign in to sync across devices and share with approved connections.

Tech & architecture

Built as a Manifest V3 extension with a privacy-first, mostly client-side architecture and a serverless cloud backend.

JavaScript (ES2020+) Chrome Manifest V3 Service Worker Content Scripts Firebase Auth (Google OAuth / PKCE) Cloud Firestore (REST) Firebase Storage Firestore Security Rules Transformers.js · Whisper ONNX Runtime (WASM) Tesseract.js (OCR) WebCodecs · MediaRecorder getDisplayMedia / getUserMedia Web Speech API IndexedDB · chrome.storage pptxgenjs · pdf.js · mammoth

Engineering highlights

Problems solved while building ptNotes.

🧩

Robust highlight anchoring

XPath + offset anchoring with a text-search fallback to re-render highlights reliably across page reloads and DOM changes.

🔐

Permission model

Per-feature access with a "feature-intersection" rule so two users only sync the content types both are authorised for.

⚙️

Popup-independent sync

Moved cloud upload into the service worker so content syncs even when the popup is closed.

🧠

On-device inference

WASM-backed Whisper + Tesseract keep audio and images on the device — no server round-trips, no per-call cost.

🎬

Clean recordings

WebCodecs→MP4 muxing with a MediaRecorder fallback for broad browser support and shareable output.

🛡️

Secure by default

No secrets shipped; access enforced server-side via Firestore rules, restricted API keys, and per-user data scoping.

Privacy

Your notes, your control

  • No ads and no behavioural tracking
  • No third-party analytics SDKs
  • Signed out → everything stays on device
  • Signed in → private, per-user cloud space
  • Sharing only after explicit approval
  • On-device AI — media never uploaded