A form builder that ships a document,
not just a database row.
Lygotype is a self-hosted, open-source form platform built to handle the institutional workflows SaaS tools quietly refuse — conditional branching, Stripe-gated submissions, digital signatures, and document-mapped export. No per-response fees. No vendor ceiling. Yours to run.
The form tools everyone knows were built for a different problem.
Typeform, Google Forms, Jotform — they were designed to collect email addresses and survey responses for marketing teams. They're polished, fast, and genuinely good at that job. But the moment you bring them into an institutional context — a membership application, a compliance workflow, a professional certification intake — they break in quiet ways.
Conditional branching exists but it's shallow. Payment collection is bolted on or paywalled. Data lives on someone else's server. There's no concept of a form producing a document — something with legal standing, a signature, a record that an HR department or insurer would actually accept. These tools were never designed for that, and it shows.
Lygotype started as an internal tool for the WHVAC-R membership application — a seven-step flow with three membership tiers, trade certification uploads, and tiered payment. Nothing off the shelf could do it without per-response fees, vendor lock-in, or compromise. So we built it, then kept going.
Model the form as a graph of decisions, not a flat list of questions.
The core architectural decision was treating conditional logic as a first-class primitive rather than a settings-panel afterthought. Every question is a node. Every answer is an edge. The path a respondent takes through the form is computed at render time, not hard-coded into a branching tree that someone has to maintain separately.
This meant the builder could expose the full logic model visually while you work — not a hidden rules panel, but live-preview feedback that shows exactly which fields appear based on the answers selected. The same primitives that drive a three-question intake drive a seven-step certification application. Nothing about the platform changes; the form just gets deeper.
For the scale Lygotype targets — hundreds of forms, thousands of responses — SQLite running on the same container as the app is faster, simpler to back up, and eliminates the entire database-server dependency. You don't need a distributed database for a form tool you self-host. If a deployment outgrows it, the migration path to Postgres is straightforward.
Most self-hosted tools look like developer tools. A form that asks someone for their certification documents or payment information needs to look like it belongs to the organization asking. Brand trust is load-bearing — a polished, on-brand form gets higher completion rates and fewer support emails. The theme system was non-negotiable.
Agencies and organizations often need different Stripe accounts for different forms — a membership fee goes to one entity, a workshop registration to another. Per-form credentials means one Lygotype instance can serve multiple payout destinations without requiring separate deployments.
One container. Zero dependencies you don't control.
The entire platform — React frontend, Express API, SQLite database, authentication, Stripe webhooks — runs in a single Docker container behind Caddy. Self-hosting is three commands. No managed database, no separate auth service, no subscription.
# Clone & run in 3 steps git clone github.com/mangopaws/lygotype cd lygotype # Add your env vars cp .env.example .env # Launch with Docker docker compose up -d # That's it. You're live. ✓ Running at localhost:3001_
The WHVAC-R membership application: a seven-step conditional flow in production.
The first real-world deployment was the membership application for Women in HVAC-R Canada — a national member-based trade association. The flow has three membership tiers (Industry Professional, Student, Corporate), each with different questions, different document requirements, and different payment amounts. None of it is hard-coded; it all comes from the conditional logic the form builder exposes.
Industry Professional applicants see a trade certification upload that Student and Corporate paths skip. Payment amounts are pulled dynamically from the membership tier selection rather than duplicated into three separate forms. The entire seven-step application — including Stripe payment and a confirmation email — runs off a single Lygotype form.
Six themes that make the builder usable as a
brand tool, not just a data collector.
Self-hosted tools have a reputation for looking like developer tools. Lygotype ships with six production-ready themes, a full theme editor, 1,000+ Google Fonts, and nine background patterns. The goal was to make it possible for a non-developer to produce a form that looks like it was designed — not generated.
Every theme exposes the same full customization surface. Switching from Lygotype to Aurora to Matrix is one click; the live preview updates instantly. Organizations can upload their logo, match their brand colours, and publish a form that looks like an extension of their website rather than a third-party insert.
Everyone competes on UX.
Nobody competes on legitimacy.
PDFs still dominate legal, healthcare, and government workflows for a reason: they produce a document artifact with standing. Not a database record — an actual document that a court, an insurer, or an HR department accepts as a formal submission. That entire market has never been touched by the polished form tools, because those tools were built for marketing, not compliance.
“The UX of a modern form builder, the legal standing of a PDF, with nothing in between.”
The roadmap takes Lygotype there: PDF and AcroForm import that maps form fields to document fields, submission export as a signed PDF, and digital signature as a first-class step in the form flow — not an integration, not an add-on. A form that produces a legal document is a categorically different product from a form that produces a spreadsheet row.
Need a tool built the way
your workflow actually runs?
Branding, web, and full-stack product work — built to own, not rent.