Leaflet

Coming soon to iPhone and iPad

Living documents,
written together.

Leaflet keeps your notes, plans and meeting records as pages of blocks, and lets AI agents work in them beside you. Every edit is a step you can undo, and every page lives on your device first.

Coming soon to theApp StoreDownload forMac & Windows

iPhone and iPad with iOS 26 · Mac and Windows · Open source

On your device first

Pages save locally and work offline.

Every agent edit undoable

One step back, after a history snapshot.

Your models, your keys

Cloud providers, a ChatGPT plan, or local.

Open source

MIT licensed, built in the open.

Write

A page for everything you keep.

A block editor of Leaflet’s own. Type Markdown as you go, press / for any block, and @ to mention a page or an agent.

Book the machiyaNov 7
Buy Sagano train ticketsToday, 9:00
Send the budget to MiaNov 12
Pack layers for cold mornings

To-dos with due dates

Dated to-dos from every page gather in one list, with reminders that arrive on time.

12:48
  • 0:00Why Kyoto in November
  • 2:14Arashiyama before the crowds
  • 6:30Fushimi Inari at dawn
  • 10:05Where to eat in Gion

Videos with notes

YouTube, Vimeo, Bilibili and more play in the page. A time in the notes plays that moment.

Cost per person

$520Flights
$195Stay
$135Food
$45Transit
$60Tickets

Tables and charts

Keep the numbers in a table, and see them in a chart.

Python
def per_person(total, people):
    return total / people

# Split the trip three ways
print(per_person(2865, 3))  # 955.0

Code

Syntax highlighting for the languages you write in.

eiπ+1=0
KansaiArashiyamaKiyomizuFushimi

Math and diagrams

Equations, flowcharts, mind maps and timelines.

/

  • Heading#
  • To-do list[ ]
  • Table
  • Callout
  • Diagram
  • Recording

Any block, a keystroke away

Headings, callouts, toggles, embeds, link cards, pictures, files and recordings.

  • Before Claude’s editToday, 10:42
  • Final planNamed · Yesterday
  • AutosaveYesterday, 18:05

Day 2 · Kiyomizu-dera, Ninenzaka, Gion at night

Day 2 · Kiyomizu-dera, Ninenzaka, an afternoon off

Page history

Named versions, and what changed since any of them, inline or side by side.

  • Nested pages and folders
  • Templates
  • Tags
  • Search across everything
  • Callouts and toggles
  • Link cards and embeds
  • Pictures, PDFs and files
  • Links to any block
  • Outline
  • Export to Markdown and PDF

Agents

Ask an agent, right where you write.

An agent reads the page and edits it with validated tools, its changes streaming in as you watch. Ask one in any of four places.

Claude turn this into a checklist

Inline

Type @ and an agent’s name on any line, and say what you need.

Ask agent

Day 2 · Kiyomizu-dera, Ninenzaka, Sannenzaka and Gion at night, all in one afternoon.

From a selection

Pick some text and ask about just that: explain it, tighten it, translate it.

What’s still undecided here?

read_page

Two things: where to eat on day two, and whether to take the Sagano train both ways.

Ask the agent…

In the side chat

Talk the page through, and come back to its past conversations.

Y

You@Claude is day two too packed?

ClaudeA little. I moved Gion at night to day three and left the afternoon free.

In a comment thread

Mention an agent in a comment on any block, and it answers in the thread.

Validated tools

Agents edit through tools such as read_page, insert_blocks and replace_block, each call checked before it touches the page.

One step to undo

A history snapshot is saved first, and the whole run comes back with a single Undo.

The web, on your terms

Agents read web pages and search only where you let them. Once a run has read your other pages, the web is closed to it.

The workspace agent

Choose All pages and an agent works across your library: it finds and reads pages, makes, moves, renames and tags them, and makes folders, each change undoable.

Video notes from what’s said

Ask for a YouTube or Vimeo video’s notes, and the agent reads its captions and writes them with the time of each moment.

Models

Bring your own model.

Use the providers you already pay for, sign in with your ChatGPT plan, or run agents offline on a computer on your own network.

Sign in

  • ChatGPT Plus
  • ChatGPT Pro

Agents use your plan. The sign-in stays on this device.

Cloud providers

  • OpenAI
  • Claude
  • xAI
  • OpenRouter
  • DeepSeek
  • GLM
  • Any OpenAI-compatible endpoint

With your own key, kept in your device’s keychain, or in your own Leaflet server when you sync through one.

On your network

  • Ollama
  • LM Studio
  • llama.cpp
  • vLLM

Models on a computer of your own, so agents work without the internet.

Record

Press the Action Button. Start talking.

Record Voice Note starts a recording in a page of its own, without opening the app. Press again to stop.

  • Action Button
  • Control Center
  • Lock Screen
  • Siri
Live on the Lock Screen
A Live Activity keeps the time, Pause and Stop on the Lock Screen and in the Dynamic Island, and recording goes on with the screen locked.
Transcribed your way
On your iPhone with the system’s own speech recognition, offline and with no key; in real time through Soniox or any OpenAI-compatible endpoint; or with speakers through MOSS.
Plays along
The line being said lights up. Any speed, 15-second skips, and controls in Control Center and on the Lock Screen.
Yours to keep
Name the speakers, correct a line, or have an agent summarize it all. Share the audio as WAV and the transcript as text, SRT or WebVTT.

Sync

Yours first. Everywhere second.

Every page is saved on your device before anything else, so Leaflet works on a plane. When you want your pages elsewhere, you choose how they travel.

  1. Always

    On this device

    Pages, files and recordings are saved to a database on your iPhone, iPad or computer. No account needed.

  2. No server

    iCloud Drive

    Your devices sync through a Leaflet folder in your own iCloud Drive. No sign-in, and nothing in between.

  3. Your own server

    Leaflet server

    Continue with Supabase, and your pages sync through a project in your own Supabase account. Changes from another device show up as they’re saved.

Edits made apart merge block by block. If two collide, Leaflet tells you, and keeps the other version one tap away.

iPhone and iPad

Made for the devices in your hand.

Leaflet for iPhone and iPad runs the same core as the desktop app, with everything you’d expect of an app made for them.

  • Windows on iPad

    Open any page in a window of its own, beside another.

  • Keyboard shortcuts

    The desktop’s shortcuts, listed in the iPad’s menu bar.

  • Reminders that get through

    Dated to-dos arrive as Time Sensitive notifications that open the to-do.

  • Live Activities

    A recording’s time, Pause and Stop on the Lock Screen and in the Dynamic Island.

  • Quick Look

    Pictures, PDFs and text open in the page, and Quick Look shows the rest.

  • Themes and accents

    Light, dark and sepia, a choice of accents, and the text size you like.

  • Three languages

    English, 简体中文 and 日本語, following your system or chosen in Settings.

  • Take it all with you

    Export a page as Markdown or PDF, or every page at once.

Mac, Windows and terminal

At your desk, and in your terminal.

Leaflet for Mac and Windows draws its whole interface natively on the GPU, with no web view. Agents outside the app work on your pages through leaflet mcp, and the leaflet command finds, reads and adds to them from any script.

  • Claude Code
  • Claude Desktop
  • Codex
  • Cursor
  • VS Code

macOS 13 or later, on Apple silicon or Intel · Windows on x64 or arm64

Open source, under the MIT License.

Leaflet is written in Go with MyGo, in the open. Read every line, report an issue, or build it yourself.

View on GitHub

FAQ

Questions, answered.

Do I need an account?
No. Leaflet works on your device with no sign-in at all. iCloud sync needs only iCloud Drive, and syncing through a Leaflet server needs a Supabase account of your own.
Can the people who make Leaflet read my pages?
No. Your pages stay on your device, in your iCloud Drive, or in a Supabase project of your own, and none of them pass through a server of ours. Leaflet has no analytics and no ads. The Privacy Policy has the details.
What does an agent send, and to whom?
Your request and the page go to the model provider you chose for that agent, and to no one else. With “Let agents read your other pages” on, it can read those too. A model on your own network keeps all of it at home.
Which AI models can I use?
Any OpenAI-compatible provider: presets for OpenAI, Claude, xAI, OpenRouter, DeepSeek and GLM, a ChatGPT Plus or Pro sign-in, custom endpoints, and local servers such as Ollama, LM Studio, llama.cpp and vLLM.
Does it work offline?
Yes. Everything is saved on your device first and syncs once you’re back online. With a model on your own network and transcription on the device, agents and recordings work offline too.
What do I need?
An iPhone or iPad with iOS or iPadOS 26 or later, a Mac with macOS 13 or later, or a Windows PC on x64 or arm64.
How do I sync my iPhone and iPad?
For iCloud, turn on iCloud sync in Settings › Sync and storage and choose the Leaflet folder in iCloud Drive. For a Leaflet server, set it up in Leaflet on a Mac or PC first, then Continue with Supabase on your iPhone or iPad.
Where can I get help?
Start with Support, or report an issue on GitHub.

Start your first page.

Leaflet for iPhone and iPad is coming soon to the App Store. On a Mac or PC, you can start today.

Coming soon to theApp StoreDownload forMac & Windows

iOS and iPadOS 26 or later · macOS 13 or later · Windows on x64 or arm64