A project is a collection of assets used to collect input, validate and format that input, and present it as a PDF or image. This section is the reference for building one - if you just want to see the app work first, start with Quick Start instead.

Project Assets Processing Pipeline

Every project is built from some combination of these files, listed in the order they're actually used when you hit Generate.

Asset Type (filename(s)) Description Documentation Editor
form.json Field definitions, validation rules, computed fields, autocomplete flags. Drives both the fill-out form and the first (static) validation pass. form.json Reference Form Editor
autocomplete.json Author-curated suggestion lists, keyed to a field's Autocomplete Key. Used while filling out the form, not at generation time. Autocomplete JSON Autocomplete Editor
validate.js Cross-field validation beyond what form.json rules can express. Runs on submit, before layout assembly. validate.js Reference Script Editor
process.js Assembles the final layout by calling overlay() on one or more partial JSON files; handles conditional/computed blocks. Runs on submit, after validate.js. process.js Reference Script Editor
overlay.json Base layout partial - page config and backgrounds. Always present; loaded by process.js, or auto-loaded if process.js is absent. Layout JSON Layout Editor
logo.json Optional layout partial - branding blocks. Layout JSON Layout Editor
form_fields.json Optional layout partial - blocks that place submitted field values on the page. Layout JSON Layout Editor
base.pdf The page canvas - dimensions, page count, background art. Everything above is painted onto this at render time. Document Project Structure Create base.pdf
assets/ Images, logos, background PDFs referenced by layout partials (relative paths). Document Project Structure Assets & Fonts
fonts/ Optional per-project TTF/OTF fonts, matched by font_family in layout blocks. Document Project Structure Assets & Fonts
output/ Where generated PDFs/PNGs are written - the pipeline's destination, not an input. Document Project Structure not editable

Building your own project

Every screen in the app