Open Note
No servers  ·  no build step  ·  no account

One endless sheet of paper in your browser. Ink, code, molecules, spreadsheets, circuits — all on the same sheet, all staying on your machine.

drag the bare paper —
the sheet keeps going →
double-click it: it writes
The Open Note logo
open_note_logo.png · pasted with Ctrl+V
0ex2dx=π2 $$…$$ → typeset
caffeine · C₈H₁₀N₄O₂
molecules, for real ↓
code cells, editable ↓
you found the edge.
in the app, click the rail
and the sheet grows ↘
The science shelf · this is the app’s widget, verbatim

Draw real molecules

Draw on it. The pen rail is on the left; type n, o, cl to change element. Or press and ask for anything — the formula, mass and name under the drawing are worked out live.

The > edge slides the live 3D companion open beside the drawing — drag it to spin, scroll to zoom, click two atoms for the distance, three for the angle, four for the twist. exports transparent SVG / PNG artwork or copies ChemFig LaTeX; holds the size slider, labels, lone pairs. Every line of it is the app’s own code.

Digital Lego · also the app’s widget, verbatim

Flick a switch — watch the ones arrive

A half adder, running. Click the switches. Drag a lead out of any port. Drag new gates in from the rail.

inspects a component — its truth table lights the row it is standing on, and a custom gate’s table is yours to fill in. swaps in a full adder, a multiplexer, flip‑flops with a running clock. Wire a loop and the gates say so rather than pretending.

Code cells

A terminal
on the paper

Twelve languages, coloured the way your editor colours them — and the cell below is the app’s own editor, so write in it: brackets close themselves, Enter keeps the indent, ⇥ and ⇧⇥ move whole blocks.

Six colour schemes. The default mixes its terminal out of the note’s own ink and paper — flip this site’s theme and watch it follow. ```fences``` inside any text box get the same treatment.

The same one-pass scanner as the app — one small table per language, nothing runs and nothing is downloaded. The source stays verbatim; colour is just paint over the top.
Maths on paper

The page does
the maths

Coordinate systems you draw in — functions like sin(2x)/x compiled by hand (nothing is ever eval’d), vectors you pull out of the paper, and matrices you throw at them: drop one on the plane and the basis walks in from the identity while you watch. LaTeX between $$…$$ typesets itself, no library at all.

v = (2, 1)
Drag the vector by its head — it snaps to the grid. Then hand the plane a matrix and watch the old grid ghost behind the new.
Tables, nodes & charts

Drop a spreadsheet
on the paper

A real .xlsx, .ods or .csv lands as a table — a workbook is a zip of XML and the browser already has an unzipper, so no parser is vendored in. Cells take =SUM(A2:B4); wire columns through nodes to scale and transform them; drop the table on a coordinate system and it plots. And for numbers you want to show: the legend under the chart is the editor. Try it.

Click a name or a number and type — the picture follows every keystroke, in colours stepped from the note’s own accents. Flip the site’s theme and it repaints.
The stylus & the guides

Draw over
everything

Ink goes wherever you drag — over pictures, tables and plots alike, the pen thickening where you slow down like a real nib. And when you’re drawing form, wireframe guides — cube, sphere, torus — are construction lines to put your pen on top of, the far side dashed the way you’d build through a form on paper.

Circuits · nuclides · elements · FITS

Wall charts that work

Logic circuits

Gates, flip-flops, a clock — no run button, the ones just run. There’s one working further up ↑

Chart of nuclides

All 3,558 nuclides from NUBASE2020, neutrons across, protons up. Press one for its half-life, branches, Q‑values — and the chain walked down to lead.

Periodic table

The reference card, on the page — tap an element for its mass, electronegativity and electron configuration, written along the foot.

FITS files

An astronomy .fits opens to its headers without reading the data — a 4 GB cube opens like a small one. Drag a table’s columns out and plot them.

Also on the shelves: five text styles, checklists, flip cards, stickies · pictures, video, .obj models, .pptx decks, attachments and folders · five wireframe solids · washi tape and stickers — every one of them drags, rotates, takes ink, prints, and travels in a backup.

Flip cards

Ask yourself, on index cards

Question on the front, answer on the back — cards are little boards, so equations, pictures and even live 3D land on them. Multiple choice marks itself. This deck is about the app — study it.

No cloud

Leave with everything

There is no server to trust. The app is a folder; your notes live on your machine; and three doors are always open:

Export one .html

The whole note as one self‑contained page — flip cards that still turn with no script at all, videos riding inside. Send it to anyone, publish it anywhere.

Print / PDF

Through the browser’s own print dialog — equations, plots, molecules and working, exactly as they stand on the paper.

Back up / restore

The whole note — models, videos, attachments and all — as one .json snapshot you keep. Restore it on any machine and carry on.

Under the paper

No dependencies. No build.
No kidding.

Double‑clicking index.html has to open a working app — that rule shaped everything underneath. No bundler, no npm, no frameworks; classic scripts whose load order is the dependency graph.

0dependencies
0build steps
0servers
78source files
1805assertions in the harness
1.html = a whole exported note

One feature, one file

A feature’s markup, behaviour, toolbar, palette tile and stylesheet live together in one file, and it announces itself with defineItem(). Nothing in the core knows what a molecule or a plot is — it asks the registry. Adding a feature touches two files: the new one, and one script line.

Hand‑rolled, on principle

  • LaTeX typeset by 460 lines compiling to MathML — no library, nothing downloaded.
  • A molecule is a small graph: SMILES, layout, 3D and VSEPR in ~1,000 lines that touch no DOM.
  • The chart of nuclides is one table of masses — every Q‑value is subtraction, done as you press.
  • Eigenvalues by Hessenberg + shifted QR; formulas share a hand‑written compiler — nothing is ever eval’d.
  • A harness drives the app in headless Firefox — 1,805 assertions, plus 45 driving the real desktop shell.
Questions

The honest answers

Where does my work live?

On your machine — in the browser’s own storage, saved automatically as you work. Back up gives you the whole note as one .json you keep; Restore brings it back anywhere. Do it regularly if the note matters to you.

Does it need the internet?

No. It’s a folder — double‑click index.html, serve it, or use the desktop app. Nothing you make is ever sent anywhere.

Is there a desktop app?

Yes — alpha builds for Linux, Windows and macOS on GitHub Releases. They are unsigned, so your OS will warn once; if that bothers you, build it from source — it is the same code.

Is it open source?

Yes — github.com/AlessioPop/open-note. The name was the hint.

Where do questions go?

opennotemail@gmail.com — or open an issue on GitHub.

Ready when you are

Start a note

It opens in your browser, it works on your desk, and it’s already yours.

It’s just a folder — host it anywhere, or double‑click index.html at home. Same app either way.