awl

a calm plain-text editor for prose and light code

Try it →
awl editing a markdown document in the Undertow world — a dark violet page with heading sizes, dimmed markup, a warm highlight wash, and the amber caret.

Fourteen theme worlds

Pick a world, not a thousand dials.

Each world is its own ink, its own face, its own character — a switch reskins the glyph shapes, not just the color. Curated like the engines of an OP-1: a handful you would actually live in.

Magpie world — a paper-white high-contrast page.
Magpiepaper-white
Gumtree world — a pale eucalyptus-green reading room.
Gumtreeeucalyptus
Bilby world — a cool pale-blue page.
Bilbypale blue
Saltpan world — a warm ecru salt-flat.
Saltpanwarm ecru
Quokka world — a sunlit peach reef.
Quokkapeach reef
Galah world — a dusty-pink reading room.
Galahdusty pink
Mopoke world — a cosy warm-charcoal room.
Mopokewarm charcoal
Potoroo world — a burnt-orange burrow at dusk.
Potorooburnt orange
Outback world — a blackish-olive night.
Outbackblack olive
Kingfisher world — a midnight-navy dive.
Kingfishermidnight navy
Undertow world — a dark violet current at midnight.
Undertowdark violet
Mangrove world — a dark tidal-teal den.
Mangrovetidal teal
Tawny world — a warm-grey nocturne.
Tawnywarm grey
Currawong world — near-pure-black OLED.
Currawongtrue black

Three words, treated as constraints

Simple.

The content, nothing in front of it. No sidebar, no tab strip, no toolbar — every surface is summoned and transient, gone the moment you are done with it.

Beautiful.

Sparseness over density. One warm living thing — the amber caret, you — and everything else is figure and ground by value, on two type ladders of one ink × one size.

Fun.

An instrument you play, not an appliance you operate. Juice done cheaply, and idle at zero percent CPU — alive when you act, perfectly still when you don't.

The full why lives in the repo docs — PHILOSOPHY, DESIGN, SCOPE.

Where the line is drawn

A writing tool that also edits light code.

The quick fix, the gitignored .env, the note in a work repo. Minimal structure for reading code by — none of the machinery an IDE wears as furniture.

In

  • Minimal syntax highlighting — the Alabaster model, four calm roles only: comment, string, constant, definition. Never a rainbow, never amber.
  • WYSIWYG markdown — headings by size, dim markup, fenced-code panels, ==highlight==, task lists. The markup shows only on the caret's own line.
  • Per-script typography — Latin, Japanese, Simplified Chinese, Korean; fonts bundled so a run resolves the same on any machine.
  • Autosave & local history — a version timeline, session restore, config as a text file you edit inside awl.

Out — deliberately

  • No LSP — no language server, no diagnostics stream, no completion popups.
  • No multi-cursor — one caret, one warm point of presence.
  • No symbol navigation — no symbol graph, no jump-to-definition.
  • No project tree, sidebar, or tabs — navigation is a summoned fuzzy palette, never persistent chrome.