🚀 Launching soon — pre-register to be first to know.  
🚀 Launching Soon — Chrome & Edge

PyNoteFlow

Run Python 3.11 instantly in Chrome or Edge — no install, no server. Connect to local or cloud GPUs, generate full ML notebooks with AI, and annotate everything in one browser tab.

Built in Pakistan, Made for the World.

Python 3.11 via Pyodide Jedi Autocomplete Gemini AI Assistant Live Annotation Writing Pad Smart Viz Suggestions .ipynb & .py Open & Save YAML — AI token-efficient save PDF Viewer Runs Offline GPU Detection & Smart Setup 🏗️ AI Notebook Builder Local & Colab GPU
See Features
🔒 Code runs locally — never uploaded ✓ Chrome · Edge · Brave ✓ Works fully offline ✓ One purchase — use on any device
🚀 LAUNCHING SOON
Be first when PyNoteFlow goes live.

One email on launch day — no spam, no newsletters. You’ll be the first to get the link.

One email only. No spam. No subscription.


See it in action

Watch PyNoteFlow at work.

Run Python, draw annotations, browse a PDF — all inside a browser tab.


Who it's for

Built for anyone who thinks with code.

Whether you're learning Python for the first time or running experiments every day, PyNoteFlow adapts to how you work.

🎓

Students

Open a notebook, run Python, and annotate lecture slides — no setup, no IT tickets, no waiting. Works in any lab on any machine with Chrome or Edge.

🔬

Researchers

Attach reference PDFs alongside live code, link specific pages to cells, and export notebooks to LaTeX or DOCX for your papers.

👩‍🏫

Teachers

Use Reveal Mode to walk students through code line by line. Open a Projector window on the classroom screen while your laptop stays private.

📊

Data Scientists

NumPy, pandas, matplotlib, scikit-learn, SciPy — all preloaded. Automatic GPU detection for both local Jupyter servers and Colab, Smart Viz suggestions, and an AI Notebook Builder that generates and runs full ML notebooks from a single sentence.


Standout Features

Everything you love about Jupyter,
reimagined for the browser.

No Python installation. No server. Run Python 3.11 instantly, inline.

🧠

Jedi Autocomplete

Intelligent Python completions powered by the Jedi library, running entirely in your browser via Pyodide. Press Ctrl+Space or just type — completions arrive within 350 ms with colour-coded type icons for functions, classes, modules, keywords, and builtins. Zero latency. Fully offline.

Ctrl+SpaceAuto-triggerType iconsOffline
🤖

AI Assistant — Chat, Build & Batch Edit

Built-in AI panel with one-click actions on every cell: Explain Code, Explain Error, Suggest Plot, Generate Docstring, and free-form chat.

Apply to All Cells — write one instruction and the AI modifies every code cell in the notebook in a single operation.

Enable GPU quick button — inserts framework-specific GPU setup code at Cell 1 (PyTorch / TF / JAX auto-detected).

Your code and key never leave your browser. Free tier: 1,500 requests/day. Bring your own API key. Supports Gemini, Groq, and OpenAI-compatible APIs.

Free tierPrivateExplain · Plot · DocstringApply to All Cells⚡ GPU quick button
✏️

Live Notebook Annotation

A transparent canvas floats over every cell — always on. Switch between Pen ✏️, Highlighter 🖊️, Eraser 🧽, Stroke Eraser 🧹 and Pointer 👆 in one click. Strokes scroll with their cells and save together with your notebook in the .ipynf format.

ProScroll anchored.ipynf saveUndo / RedoHighlighter
🗒️

Writing Pad

A slide-in whiteboard panel for diagrams, typed note cards, and freehand sketches — right next to your notebook. Send any cell's code or rendered output to the pad with one click. Text cards support rich HTML including rendered markdown. Pinch-to-zoom 0.5×–4× for detail work.

ProFreehandText cardsSend from cellPinch zoom

GPU Detection & Smart Setup

Connect PyNoteFlow to a local Jupyter server on a GPU machine or to Google Colab and GPU detection activates automatically — device name and VRAM appear in the status bar instantly (e.g. ⚡ RTX 4090 · 24 GB). Works identically for local and cloud GPUs.

Click the badge to open the GPU panel: see routing status, re-apply CUDA routing, or download a ready-made Jupyter GPU Launcher (.bat) that sets all CUDA environment variables before starting Jupyter.

Smart GPU Setup in the AI panel reads your notebook, identifies your framework (PyTorch / TensorFlow / JAX), and inserts the exact setup code. For PyTorch it auto-patches every relevant cell — adding .to(device) on models, inputs, and labels so nothing silently runs on CPU.

Built-in GPU Usage Guide with framework-specific tabs.

Local & ColabAuto-detect⚡ Status badgeDownload .bat launcherPyTorch · TF · JAXGPU Usage Guide
🏗️

AI Notebook Builder

Describe a machine learning task in plain English. PyNoteFlow sends it to the AI and generates a complete, ready-to-run notebook — problem analysis cell, code cells, and markdown explanations — structured in logical chunks from imports to evaluation.

Agentic execution loop: the AI automatically runs each generated cell in sequence. If a cell errors, the AI reads the traceback and fixes it (1 auto-retry per cell). You watch the live progress log as it runs.

GPU-aware from the start — the AI sees your detected GPU and writes optimised code. No boilerplate hunting. No copy-pasting setup snippets.

Works with Gemini, Groq, and OpenAI-compatible APIs.

One sentence → full notebookAuto-run + auto-fixGPU-awareLive progress logGemini · Groq · OpenAI
📈

Smart Viz Suggestions

After every cell execution, PyNoteFlow scans your outputs for tables, arrays, and numeric data — then suggests the right chart type automatically. Click any suggestion to insert a ready-to-run matplotlib snippet. No typing required.

Local, no APIBar · Line · ScatterHeatmap · Histogram · Pie
💾

One File for Everything

Notebook cells, pen annotation strokes, Writing Pad sketches & cards, and embedded PDF state are all bundled into a single .ipynf or .yaml file. Reopen it anywhere in PyNoteFlow and every stroke, card, and PDF page is exactly where you left it.

The .yaml format is plain readable text — ideal for editing notebooks with AI assistants like Copilot or Gemini. Because it's structured text rather than binary JSON, AI models consume far fewer tokens reading and modifying it, keeping you well inside your context window.

Standard .ipynb files (Jupyter) and plain .py scripts are also fully supported for both opening and saving — keeping your workflow compatible with JupyterLab, VS Code, and any Python editor.

.ipynf.yaml🤖 AI token-efficientAnnotations savedWriting Pad savedPDF state saved.ipynb open & save.py open & save
👁️

Reveal Mode — Live Teaching

Enter presentation mode with one click — all code is hidden. Press Page Down to reveal one line at a time, cell by cell, with a natural typewriter animation. Students see code build up as you explain it. Projector Only mode opens a separate window you drag to the classroom screen, while your laptop shows the complete code.

TeachingPage Down / Page UpTypewriter📽️ Projector window
🌓

Dark · Light · Tint — Three Modes per Theme

Every colour theme has three background modes: ☀️ Light for bright rooms, 🌓 Tint to wash the accent colour across cell backgrounds, and 🌙 Dark for low-light environments. Toggle with one click in the header — no reload, instant switch.

Per-themeOne-click5 free · 40+ totalTheme packs sold separately
📤

5 Export Formats — Accurate & Lossless

Every export is a faithful, optimally structured transformation — no copy-paste, no lost formatting, no manual cleanup. HTML — self-contained with a dark/light toggle, all outputs inline. PDF — print-ready, respects your current layout. LaTeX .tex — compilable with pdflatex; code blocks, math equations, and tables map faithfully. Word .docx — Consolas code blocks, Cambria Math equations, correct heading hierarchy. Image ZIP — every chart and figure output as a PNG, bundled in one archive.

HTMLPDFLaTeX .texDOCXImage ZIP
🤏

Pinch-to-Zoom

Two-finger pinch scales the entire notebook 0.5× – 3×. Zoom persists across sessions in localStorage. The annotation canvas resizes correctly after every pinch so strokes stay anchored to their cells.

0.5× – 3×Persists on reloadCanvas-aware
📎

Embedded PDF Viewer

Attach PDF files directly inside your notebook and browse pages without switching tabs. Create quick-access links between any PDF page, a specific notebook cell, or a Writing Pad card — perfect for referencing lecture slides, research papers, or textbooks alongside live code. Free plan: up to 10 PDF pages.

Embedded pagesPDF ↔ cell linksPDF ↔ Writing PadQuick navigation10 pages free
🖥️

PyNoteFlow Server — Zero-Config Local Kernel

A dedicated lightweight kernel server built for PyNoteFlow. One command to install, one click to connect — no Jupyter URL, no token, no config file.

Install (Windows):
irm https://raw.githubusercontent.com/hh-globals/pynoteflow-server/main/install-and-run.ps1 | iex

Install (macOS / Linux):
curl -LsSf https://raw.githubusercontent.com/hh-globals/pynoteflow-server/main/install-and-run.sh | bash

Both one-liners install uv (fast Python tool runner), install pynoteflow-server via pip, register it to start silently at login, and launch it immediately. After that, PyNoteFlow detects it automatically every time you open Chrome — no manual start needed.

Runs a real IPython kernel on your machine — full system Python, unlimited packages, GPU support. Security locked to chrome-extension:// origins only; nothing reachable from the internet.

pip install pynoteflow-server Auto-detected by extension Auto-starts at login Real IPython kernel Full GPU support Windows · macOS · Linux

6 UI Skins — Hand-Crafted, Not AI-Generated

Switch the entire interface aesthetic with one click. Each skin is a fully hand-tuned design layer applied over any of the 50+ colour themes — they stack independently.

Classic — clean, flat, distraction-free.
Premium — editorial luxury. Deep midnight indigo with a single restrained champagne-gold accent. Cards bevel with a top inner-highlight. Save button is the one filled element on screen. Running cells pulse warm gold.
Glass — Apple Sequoia / iOS-17 glassmorphism. Four-colour aurora gradient mesh drifts behind frosted surfaces. Every panel is translucent with a crystal top-edge highlight. Running cells pulse cyan.
Sleek — minimal monochrome with sharp geometry.
Atelier — generous whitespace, warm ink palette, notebook-meets-IDE.
Ribbon — Microsoft Office–style tab bar with resizable toolbar.

6 skins total Works with all 50+ themes One-click switch Auto contrast enforcement No reload needed

Full Feature Set

Everything built in, nothing to configure.

Every feature works out of the box on first open.

🐍

Python 3.11 via Pyodide

Full Python runtime compiled to WebAssembly. NumPy, pandas, matplotlib, scikit-learn, SciPy and 200+ packages. First load ~8 MB, then fully offline.

⚠️

Pyflakes Linting

Click ⚠ on any cell for instant static analysis — undefined names, unused imports, logic errors — with hover tooltips explaining each warning.

📐

Side-by-Side Layout

Toggle any cell (or all cells) to show code on the left and output on the right. Drag the splitter to set your preferred ratio.

🔢

Variable Watch

Monitor up to 4 variables simultaneously. Pre/post bars above and below each cell show exactly how values change as the cell runs.

⌨️

input() Support

Python's input() works natively via SharedArrayBuffer + Atomics. An inline prompt widget appears in the cell output — no page freezing.

📊

Rich Output Types

Inline PNG charts, styled DataFrames, HTML, Markdown, SVG, LaTeX math, audio player, video player, ANSI-coloured tracebacks.

🎨

50+ Color Themes

6 themes included free. 50+ more across Dark, Light, Colorful, Warm, and Fruit packs — available as small one-time purchases. Every theme supports ☀️ Light, 🌓 Tint, and 🌙 Dark modes plus custom HSV color pickers.

👁️

Reveal Mode

Live teaching mode: hide all code, reveal it line by line with a typewriter effect using Page Down. Optional Projector Only mode opens a separate window for the classroom screen while the teacher's laptop shows everything.

6 UI Skins

Classic — clean flat layout. Premium — editorial luxury: midnight indigo with restrained champagne-gold accents, beveled cards, gold left-rail selection. Glass — true Apple-Sequoia glassmorphism: animated aurora mesh background, frosted surfaces, crystal top-edge highlights. Sleek — minimal monochrome. Atelier — generous whitespace, soft ink palette. Ribbon — Office-style tab bar. All skins combinable with any of the 50+ colour themes.

🔗

Google Colab Kernel

Connect to your own Colab session for GPU/TPU execution. Paste the URL + token — PyNoteFlow handles the Jupyter Messaging Protocol. GPU auto-detection activates on connect, showing device name and VRAM in the status bar.

🖥️

PyNoteFlow Server — One-Click Local Kernel

pip install pynoteflow-server then click ⚡ Connect Kernel → PyNoteFlow Server — no URL, no token, no config. A real IPython kernel runs on your machine; the extension detects it automatically. Install any package (PyTorch, TensorFlow, OpenCV, anything on PyPI), no browser restrictions. GPU detection activates instantly — device name and VRAM appear in the status bar. Quick install: one-liner for Windows (irm … | iex) or macOS/Linux (curl … | bash) installs the server and registers it to start at login automatically.

Magic Commands

%pip install, %timeit, %time, %who, %whos, %reset, %env, %cd, %pwd, %%html, %%markdown, %%writefile, obj? and more.

📦

Package Manager Terminal

Pip install panel with real-time progress, pip list, pip show, pip freeze, command history ring, spinner animation, offline caching.

🔍

Variable Inspector

Live table of all Python names, types, and values — updated after every cell execution. Opens as a side panel.

🕒

Recent Files

Up to 10 recent notebooks stored in IndexedDB with FileSystem handles. Reopen with zero clicks if permission was previously granted.

Auto-Save

Notebook content auto-saved to localStorage every 30 seconds. Restored automatically on reload — zero work lost on crashes.

📤

5 Export Formats

Accurate, lossless export to styled HTML, print-ready PDF, compilable LaTeX .tex, Word .docx (Consolas code + Cambria Math equations), or Image ZIP (all chart outputs as PNGs). Every format maps notebook structure faithfully — no information lost. Never modifies the source file.

🤏

Pinch-to-Zoom

Two-finger pinch scales the entire notebook 0.5×–3×. Zoom level persists across sessions. Annotation canvas resizes correctly after pinch.

📄

Flexible File Formats

Save notebooks as .ipynf (cells + annotations + Writing Pad + PDF state, all in one file), .yaml (human-readable, ideal for AI editing), standard .ipynb (Jupyter-compatible), or plain .py scripts. Open and save in any of these formats — full round-trip fidelity for each.

📎

Embedded PDF Viewer

Attach PDF files inside your notebook. Browse pages without leaving the app and create cross-reference links between PDF pages, notebook cells, and Writing Pad cards for instant navigation. Free: 10 pages; Pro: unlimited.

GPU Auto-Detection

Connect to Jupyter or Colab — PyNoteFlow detects your GPU and shows device name + VRAM in the status bar. Click to download a Jupyter GPU Launcher (.bat) or let Smart GPU Setup insert framework-specific code for you.

🏗️

AI Notebook Builder

Describe an ML task → AI generates a complete annotated notebook and runs it cell by cell, auto-fixing errors. GPU context is injected automatically so generated code is ready for your hardware.

🔄

Apply AI to All Cells

Write one instruction in the AI chat and apply it to every code cell in the notebook at once — add docstrings, convert to GPU, refactor, or anything else, in a single click.

🏷️

Writing Pad Page Markers

Cell links appear as compact flag chips in the Writing Pad, matching the PDF page marker style. Gutter buttons let you find or send page markers between notebook cells and the PDF viewer in one click.


Screenshots

See every corner of the interface.

Real screenshots — no mockups, no Figma. What you see is what you get.

Side-by-side code and chart
Side-by-side layout — code left, chart right
Pen annotation over chart
Live pen annotation — draw directly over any output
Dark theme with Fibonacci spiral
Dark theme — 6 free starter themes, 50+ more available as theme packs
Rose theme with DataFrame table
Rose theme — styled DataFrame table output
Peach theme with scatter plot
Peach theme — colormap scatter plot
Dark side-by-side with annotation
Dark side-by-side — annotation drawn over sine/cosine chart

AI-Friendly Format

Give your AI assistant a notebook it can actually read.

Standard .ipynb files are JSON with thousands of lines of metadata. PyNoteFlow's .yaml export strips all that away — cells become plain text blocks your AI can read, edit, and return in seconds.

📄

50-cell notebook as .ipynb

{
  "nbformat": 4,
  "nbformat_minor": 5,
  "metadata": {
    "kernelspec": {
      "display_name": "Python 3",
      "language": "python",
      "name": "python3"
    },
    ...
  },
  "cells": [
    {
      "cell_type": "code",
      "execution_count": 1,
      "id": "a1b2c3d4",
      "metadata": {},
      "outputs": [ { "output_type": "stream",
        "name": "stdout", "text": ["Hello\n"] } ],
      "source": [ "print('Hello')" ]
    },
    ...
  ]
}
~4 800 lines Nested JSON Hard for AI to edit
🤖

Same notebook as .yaml

# PyNoteFlow Notebook
version: 1

cells:
  - type: code
    source: |
      import pandas as pd
      df = pd.read_csv('data.csv')
      df.head()

  - type: markdown
    source: |
      ## Results
      The data shows an upward trend.

  - type: code
    source: |
      df.plot(kind='bar')

# ... 47 more cells ...
~120 lines Pure text AI edits instantly
40× smaller context
A 50-cell notebook shrinks from ~4 800 lines of JSON to ~120 lines of YAML — well within any AI context window.
📦
Full round-trip
Export Full to preserve annotations, Writing Pad, and PDF state as a compressed block at the bottom — invisible to the AI, restored when you re-import.
🔄
Two-way workflow
Export → paste into AI → AI edits and returns YAML → drag the file back into PyNoteFlow. Your cells update in seconds.

In Action

Write Python, see results instantly.

Run the cell with Shift+Enter. Completions, linting, and AI explanations are one keypress away.

# Cell 1 — data analysis in the browser
import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv('sales.csv')
df.groupby('region')['revenue'].sum()

# ↑ PyNoteFlow renders the DataFrame as a styled HTML table
# ↑ Viz suggestion bar appears: "📊 Bar chart 📈 Line chart …"
# ↑ Click "Bar chart" → inserts a ready-to-run matplotlib snippet
⌨️Type np.ar → Jedi suggests np.array, np.arange
⚠️Click ⚠ → "undefined name 'pd' at line 3"
🤖Click Explain Error → Gemini suggests the fix in 2 seconds

Keyboard-First

Every action has a shortcut.

Full Jupyter-style command/edit mode, plus annotation and AI shortcuts.

ShiftEnter
Run & advance
CtrlEnter
Run, stay on cell
AltEnter
Run & insert below
CtrlSpace
Jedi autocomplete
CtrlS
Save
CtrlShiftS
Save As
CtrlO
Open file
A
Insert cell above
B
Insert cell below
DD
Delete cell
Page Down
Reveal next line (Reveal mode)
Page Up
Hide last line (Reveal mode)
P
Pen mode
E
Eraser mode
F8
Toggle pen ↔ pointer
CtrlZ
Undo annotation
Ctrl/
Toggle comment
T
Pointer mode

How it compares

PyNoteFlow vs. alternatives.

The only notebook that runs offline, annotates natively, and ships a built-in AI assistant.

Feature PyNoteFlow JupyterLab Google Colab VS Code
No install / no server
Works fully offline
Reveal Mode (live teaching)
Live pen annotation
Annotations saved in notebook✓ (.ipynf)
Writing Pad / whiteboard
Embedded PDF viewer
Built-in AI assistant
Smart viz suggestions
Jedi autocomplete
Variable watch bars
input() support in browser
Export to PDF / DOCX / LaTeX✓ (ext)✓ (ext)
Pinch-to-zoom
GPU / TPU support✓ (local & Colab)✓ (local)✓ (local)
Zero-config local kernel (no URL/token)✓ (PNF Server)
6 hand-crafted UI skins
PriceFree (limits) / $15 onceFreeFree / $10/moFree

FAQ

Common questions.

Can't find an answer? Email us at contact@hh-globals.com.

Does PyNoteFlow work on Firefox or Safari?
No — PyNoteFlow is a Chrome Extension (Manifest V3). It works on Google Chrome, Microsoft Edge, and Brave. Firefox and Safari do not support Chrome extensions.
Does my code get sent to any server?
No. PyNoteFlow runs Python via Pyodide — a WebAssembly build of CPython that executes entirely inside your browser tab. The only outbound request is the optional AI assistant call to Gemini (using your own API key or the free shared tier), and that is only the specific code snippet you choose to send.
Can I use PRO on multiple devices?
Yes — your PRO key works on any device or browser profile. There is no limit on how many machines you install it on. Only one device is active at any given moment: activating on a new device automatically deactivates the previous one, so you never need to manually sign out. Switch freely between your laptop, desktop, or any machine — one purchase covers them all.
How do I get my license key after buying?
Paddle (our payment processor) sends your receipt by email immediately after the payment completes. Your license key is included in that receipt. In PyNoteFlow, click Get PRO"I have a license key" to activate.
What happens to my notebooks if I stop using PRO?
PyNoteFlow PRO is a one-time purchase — there is no subscription that expires. Your files are standard .ipynf or .ipynb files stored on your own device. They stay yours forever.
Does it work without an internet connection?
Yes, after the first load. Pyodide (~8 MB) is cached by the browser after your first visit. All Python execution, autocomplete, and linting run locally — no internet needed. The AI assistant requires connectivity for Gemini API calls.

Start free. Pay once for unlimited access.

Free includes all features with generous limits. Pro removes every limit for a single $15 payment.

Free
$0 / forever
Up to 15 cells · 10 embedded PDF pages
  • Python 3.11 via Pyodide
  • Jedi autocomplete
  • Pyflakes linting
  • AI assistant (Gemini)
  • Smart viz suggestions
  • Live pen annotation
  • .ipynf save & restore
  • Embedded PDF viewer — up to 10 pages
  • PDF ↔ cell & Writing Pad links
  • Writing Pad (whiteboard)
  • Side-by-side layout
  • Variable watch bars
  • Google Colab kernel
  • 6 starter themes — Dark · Light · Tint modes
  • input() support
  • 50+ more themes — sold as separate packs
  • Collaboration Rooms (coming)
  • Shared Cloud Kernel (coming)

H&H Globals

One team. Products built with purpose.

We're a small team from Pakistan building thoughtful software for learners, researchers, and educators. PyNoteFlow is our first product, with PDFNoteFlow on the way — and more coming.

🐍
PyNoteFlow
Available now

Python notebook platform for Chrome & Edge. Code, annotate, write, and read — all in one tab. No install required.

Chrome · Edge Free tier $15 PRO
PDFNoteFlow
Coming soon

A live PDF viewer paired with an infinite writing pad. Annotate your PDF and take handwritten or typed notes side by side — a modern, open alternative to OneNote.

Chrome · Edge Free tier $10 PRO
Learn more →

"Tools built with care, for people who think."

H&H Globals · Built in Pakistan, Made for the World · contact@hh-globals.com