KILN

Spec in.
Finished app out.

KILN compiles a small specification into a complete, working, offline application — one HTML file. No model in the loop, no network, no dependencies to install.

0 dependencies 0 network calls 21–34 KB per app 14 features 289 guards 322 tests

Three ways in, one result

A spec is the only input. Whether you type a sentence, paste a model's reply, or fill a form on a phone, the same compiler runs and the same checks pass.

01 — PHRASE

One sentence

Say what the app is for. Aliases, tf-idf and slot filling turn it into a spec. No model, no key, no network.

kiln new "a tea log with tags"
02 — PROMPT

Any model, by copy-paste

PROMPT.md carries the catalogue with it. Paste the reply back and adopt repairs it until it builds.

kiln prompt → paste → kiln adopt
03 — FORM

A phone, offline

studio.html is the same compiler in a browser. Fill the form, tap Build, the app downloads.

open studio.html

What it looks like

Both screenshots are real, rendered from the files in this repository.

KILN Studio: feature picker, field editor and build button

KILN Studio — pick features, describe the record, build. Runs on a phone, offline.

A generated offline notes app with search, tags and export

A generated app — 21 KB, one file, storage on the device, all four failure paths handled.

The pipeline

Every arrow is deterministic. The same spec produces the same bytes.

INTAKEphrase → featuresintent.py
SPECJSON block + prosespec.py
COMPOSEspec → file plancompose.py
EMITplan → filesemit.py
VERIFYread it, prove itverify.py
GUARD107 checks on the repoguards.py

What a generated app gets, without being asked

This is the difference between a skeleton and an app. Nothing here needs writing per application.

PartBehaviour
CRUDList, create, edit, delete — generated from the entity schema
StorageNamespaced localStorage, versioned, quota-aware
SearchField scan with Ctrl-K focus
ExportJSON and CSV download, JSON restore
ThemeDark and light, remembered
Failure pathBad input, no network, storage full, corrupt state — all four surfaced
DocsREADME, manifest, changelog, licence, smoke tests

Two editions

An app you generate is yours in both. What changes is the author block the compiler puts in it — and the free edition is the one that pays for the rest.

Personal — freeCommercial — paid
LicencePolyForm Noncommercial 1.0.0a written licence
Forpersonal, academic, hobby, non-profitbusinesses, paid work, products you sell
Featuresall 14all 14, unlocked
Sponsor block in the appyesno
Author block in the appyesno
Compiler credit"Built with KILN", hyperlinkedone line
Try it onlinethe live demo—

Every build carries a fingerprint of the model it came from. Edit the file and the app says so on load. That is evidence, not a lock — the honest list is in SECURITY.md, the full table is in LICENSING.md. No releases are published until the owner says so (RELEASE.md).

Quick start

Python 3.9 or newer. Nothing else.

# whole pipeline in one command
python3 -m kiln pipeline "a reading log with tags and a rating" --zip

# or step by step
python3 -m kiln new "a notes app with tags, search and export"
python3 -m kiln build specs/app-notes.md -o out
python3 -m kiln verify out/app-notes

ok   app-notes.md   43 checks, 0 failed

Support

KILN is free for personal, academic, hobby and non-profit use. If it saved you a week, here is where to put it. None of this is required, and the first thing on the list — telling me what broke — is worth more than any of it.

UPI (India)

drsohilboi@ybl
Payee: Dr Sohil Momin · open amount

UPI QR code for drsohilboi@ybl

GitHub Sponsors

Recurring or one-off, handled by GitHub.

github.com/sponsors/drsamonline

Ko-fi

One coffee, no account needed.

ko-fi.com/matneo

PayPal

For outside India.

paypal.me/drsohilmomin

My books

Buying a book helps the same way a donation does, and you get something to read.

Amazon author store

More apps

Everything else in the estate — offline-first, single-file, no accounts.

drsamonline.github.io

Get help, not just give money

You needWhere
To report a bugopen an issue — the most useful thing you can do
To ask a questiondiscussions
To report a vulnerabilitySECURITY.md — privately, please
A commercial licenceCOMMERCIAL.md
To contributeCONTRIBUTING.md — four steps, all checked by CI
To emailsohilmomin2000@gmail.com