Draft · solve · form · hand off

Skip the script.
Draft the answer.

You have a question. You start typing — numbers, formulas, whatever's in your head. Every line is solved live, right beside it. When the answer holds, wrap it in a form and hand it to anyone. No spreadsheet to wrangle, no Python to debug.

macOS · Windows · Linux · iOS · Android Plain-text files Works offline
roof-estimate.dply live
1# What will the new roof cost?
2Width = 4.5 m4.5 m
3Length = 12 m12 m
4Area: Width * Length54 m²
5
6PricePerSqm = 8585
7Material: Area * PricePerSqm4,590
8VAT: Material * 19%872.10
9Total: Material + @85,462.10

Why "draft"

A draft isn't the cathedral. It's the working answer — built fast, good enough to act on, easy to hand to the next person.

This started because a decimal point in the wrong place kept breaking the flow. No appetite for a heavyweight spreadsheet, no time to write a script. So: a notepad that does the math, keeps every step in view, and lets you pass the whole thing on. Need the polished, high-performance version later? Port it to Python. For everything in between — Draftply.

01 · Draft

You have a question. Start typing.

No setup, no boilerplate. Open it, type your numbers, label your values, drop in a formula. Like scribbling on a notepad — except every line is solved the instant you write it.

Units carry through4.5 m * 12 m → 54 m²
Percentages just work1200 * 80% → 960
Values stick around — reuse them three lines later, or thirty.

budget.dplylive
1Income = 32003,200
2Rent = 11501,150
3Food = 480480
4Left: Income - Rent - Food1,570
5Saved: @4 * 40%628

02 · Solve

When arithmetic isn't enough, go deeper.

The language grows with the question. Functions, classes, loops, matrices, statistics, symbolic algebra — all solved live, all in the same document. No imports, no environment, no debugging cycle.

Functions & classes — bundle logic that reads like your thinking.
Symbolic algebrasolve, simplify, factor, derivatives, integrals.
Statistics & matricesmean, std, det, inv, built in.

analysis.dplylive
1class Investment(p, rate, yrs):
2 def value():
3 return p * (1+rate)^yrs
4
5x = Investment(10000, .07, 10)
6x.value()19,671.51
7solve(x^2 - 5x + 6 = 0, x)2, 3

03 · Form

Give your solution a face.

You've solved it. Add a header and the document turns into an interactive form — labeled inputs, chip selectors for fixed choices, read-only outputs. One toggle from editor to form. The person filling it in never sees the math.

Text inputs with live recalculation.
Chip selectors for options like strategy or tax rate.
Protected outputs — nothing to break.
Print & PDF — two-column export, ready to send.

investment-check.dply Form
⬡ capital-gains.dplylib

Investment Check

Returns and taxes on a capital investment.

Amount (€)

100,000

Strategy

ConservativeBalancedAggressive

Tax

NoneCapital gains 26.375%
Future value (€)196,715.14
Gross gain (€)96,715.14
Net gain (€)71,206.52

04 · Hand off

Bundle it. Send one file.

A .dplybundle packs your document and its libraries into a single file. Whoever opens it sees the form, fills in their own numbers, gets their own answer. If they're curious, the plain text is right there — read it, change it, make it theirs.

One file, everything inside — document + libraries together.
Plain text underneath — open, inspect, adapt, improve.
No server, no account — email, drive, USB, whatever.

investment-check.dplybundle One file. Everything inside.
investment-check.dply
capital-gains.dplylib
A B C D

They open it, change their numbers, get their answers.

Under the hood

Not a fancy calculator. A real language.

A full interpreter — lexer, parser, evaluator — running every line in the background. Fast where it counts, honest about what it's for.

Live evaluation

Every line solved in a background isolate. The interface never freezes, even on heavy math.

Full interpreter

Variables, functions, classes, control flow. A real language, not a regex trick.

Symbolic algebra

solve, simplify, factor, symbolic derivatives and integrals. Polynomial CAS, symbolic output.

Arrays & matrices

Indexing, sort, range, push/pop. Matrix algebra: det, inv, transpose, trace, norm.

Units & statistics

km, m, kg, h, s — auto SI conversion. mean, median, std built in. Percentages as 80%.

Charts & plots

Line, scatter, bar, histogram — inline. Export SVG, PNG, CSV from any chart.

Strings & text

First-class strings with interpolation: "Total: {x + y} €". Concatenation, str(), len().

PDF export & print

Two-column layout — code and results side by side. Header, footer, page numbers.

Your decimal point

Comma or period, your call. Thousands grouping, precision, font — all yours. No flow broken.

Free & Pro

Start free. Go Pro when the question gets bigger.

The free version does real math with no limits and no expiry. Pro unlocks the full language, forms, charts, and symbolic algebra.

Free

The essentials

Arithmetic, variables, units, matrices, statistics — no limits, no expiry.

  • Arithmetic, units & matrices
  • Strings & text interpolation
  • Multi-sheet & themes
  • PDF export & print
  • Functions & classes
  • Charts & plots
  • Symbolic algebra (CAS)
  • Forms & bundles

Pro

The full language

Everything in Free, plus the tools to build, visualize, form, and hand off.

  • Everything in Free
  • Custom functions & classes
  • Charts & plots
  • Symbolic algebra (CAS)
  • Statistics (mean, median, std)
  • Form mode & bundles
  • All future Pro updates

Get Draftply

Free version with 7-day Pro trial · No account required

Start with the question.
Hand off the answer.

Download Draftply free