poiu.dev — A Local-First Infinite Whiteboard With No Toolbar

7 min read
  • whiteboard
  • local-first
  • design
  • UI/UX

I wanted a whiteboard that felt closer to opening a blank page than launching a product. Most infinite canvas tools greet you with a toolbar, a left rail, a shape picker, and a collaboration model before you have done anything useful. I wanted the opposite: open the URL, start typing, keep moving.

That is what poiu.dev is. It is a local-first infinite whiteboard for developers and designers who want a private place to think without signing up for anything first.

The idea comes from the same bias that shaped codn itself: fewer moving parts, fewer requests, less interface, less ceremony.

What poiu Actually Does

poiu is not an abstract design philosophy project. It already does a useful set of concrete things:

  • Type on a fresh canvas to start a text block, or double-click anywhere to create one
  • Pan with Space + mouse, Alt + drag, scroll, or two-finger gestures
  • Zoom with Ctrl/Cmd + scroll or pinch
  • Paste plain text, clipboard images, or direct image URLs
  • Drag and drop images onto the canvas
  • Render markdown and code when you leave a text block
  • Undo, redo, duplicate, reset, and export to PNG

There is no persistent toolbar, but there is a shortcut overlay behind ? or by clicking the corner logo. That matters, because “no UI” is easy to say and much harder to implement honestly. Hiding chrome is only useful if the interactions underneath it are still discoverable.

A typical board for me might be a to-do list, a pasted screenshot, and a half-written API sketch on the same canvas. That is the job: quick capture without naming a project, opening a workspace, or deciding where things belong first.

Why There Is No Toolbar

I did not remove the toolbar because I wanted the app to look minimal in screenshots. I removed it because toolbars are constantly asking you to make decisions before you are ready to make them.

On a whiteboard, that is backwards. The first interaction should be capture, not configuration.

Tools like Miro, Figma, and Excalidraw solve broader problems. They need visible controls because they expose larger systems: teams, comments, shapes, templates, permissions, plugins, and polished presentation workflows. poiu is narrower than that on purpose. It is for brain dumps, rough structure, clipped references, and half-formed thoughts that would die if I had to manage a workspace first.

So poiu starts with a canvas, a shortcut hint, and almost nothing else. The interface is still there. It is just not permanently taking up space.

Local-First Means Local Tradeoffs

poiu stores its canvas state in the browser’s IndexedDB. There is no poiu backend storing your board data, no account system, and no sync service waiting in the background. Open the same browser again and your last canvas is still there.

The privacy model is literal. I do not need to promise that I will handle your ideas responsibly because, by default, I do not have them.

It also comes with real constraints, and pretending otherwise would be dishonest:

  • Today poiu behaves like a single persistent canvas, not a multi-board workspace
  • Your data is tied to one browser profile and one origin
  • If you clear site data, switch browsers, or move to another device, poiu does not magically follow you
  • There is no board sync or board-state import/export format yet
  • If you paste a direct image URL, your browser requests that image from its source host when you paste it and again on later page loads when the canvas is restored

For quick sketching, rough structure, and temporary reference collection, those limits are acceptable. I am not trying to build a cloud document platform. I am trying to build a fast place to think.

Text First, With Just Enough Formatting

The core object in poiu is text.

Type on an empty canvas and you get an editable text block immediately. Paste rich text from somewhere else and poiu strips the formatting down to plain text instead of importing the source page’s typography mess. That alone removes a lot of friction.

From there, poiu takes a hybrid approach to formatting. While you are editing, text stays raw. When you click away, markdown styling kicks in. Headings get sized, links are underlined, inline code and code blocks get monospace treatment, and code-like text can be syntax highlighted. poiu currently auto-detects common languages including JavaScript, TypeScript, Python, CSS, JSON, Bash, HTML, XML, and Markdown. There is no language picker, so short or ambiguous snippets may just stay in the neutral default styling. If you want to keep something as literal plain text, select the text block first, then press Cmd/Ctrl+Enter.

I like this model because it avoids the usual “editor mode vs preview mode” split. Draft in raw text. Review in styled text. Same object, same place, no separate panel.

Text layout is opinionated too. poiu keeps each text block in a readable column instead of letting paragraphs sprawl across the full width of the canvas. That is not a power-user setting. It is the default because long lines on a whiteboard are miserable to read.

Images, Export, and Other Useful Non-Minimalism

poiu supports clipboard images, drag-and-drop images, and direct image URLs. You can paste a screenshot, drop a reference image from the desktop, or throw a URL at it and keep moving. Images sit on the same canvas as text, which makes the board useful for collecting references instead of just writing notes.

It also exports cleanly. Cmd/Ctrl+E exports the current canvas as a PNG with the current theme background. Cmd/Ctrl+Shift+E exports a transparent PNG. The export is content-based, not viewport-based: poiu exports the bounding box of all objects on the canvas with padding, not just the part you happen to be looking at. Undo and redo are built in. Duplication is built in. Reset is built in. There is enough machinery here to make the tool practical, not just ideologically tidy.

That balance matters. A lot of “minimal” tools are really just unfinished tools with better branding. poiu is opinionated, but the opinions are there to remove decisions, not capabilities.

System Theme, Monochrome Defaults

poiu follows the system theme. There is no light/dark toggle because I do not want the app to become a preference manager. If the OS is dark, poiu is dark. If the OS is light, poiu is light.

The default canvas language is deliberately restrained: grayscale backgrounds, grayscale borders, grayscale controls. That keeps the UI neutral and leaves more visual weight for the content. The one exception is rendered code, where syntax colors are useful enough to earn their place.

Current Status

This article describes poiu as it exists on March 10, 2026. The tool is still under active development.

One of the next things I want to add is a small first-open hint that explains what poiu is, where to find the shortcuts, and how to get started without turning the interface into a product tutorial. The goal is just enough context that a first-time visitor understands the tool immediately.

What poiu Is Not

poiu is not a Figma replacement. It is not a Miro competitor. It is not a collaborative whiteboard. It is not a cloud workspace. It is not trying to manage teams, comments, permissions, or real-time cursors.

It is also desktop-first in practice. In its current form, poiu is aimed at current Chrome, Firefox, Safari, and Edge. It supports touch gestures, but the interaction model is built around keyboard shortcuts and pointer input. That is a conscious choice, not an oversight.

If you want a private infinite whiteboard that opens fast, stores locally, supports text, markdown, images, and PNG export, and stays out of the way, it is at poiu.dev.

Frequently Asked Questions

Q: Where does poiu store my data?

A: poiu stores its canvas state in your browser's IndexedDB. There is no poiu backend storing your board data, but the tradeoff is that your content is tied to that browser profile and can be lost if you clear site data.

Q: Does poiu support collaboration or accounts?

A: No. poiu is intentionally single-player. There are no accounts, no sync layer, no presence indicators, and no collaboration features.

Q: What can I paste or export in poiu?

A: You can paste plain text, clipboard images, and direct image URLs. poiu can export the current canvas as a PNG with the current theme background or as a transparent PNG.

Q: Does poiu support markdown?

A: Yes. Text stays raw while you edit it, then markdown and code styling are applied when you leave the text object. If you want to keep a block as plain text, select the text block and press Cmd/Ctrl+Enter.