Before we wrote a single line of code, we spent weeks asking ourselves whether we actually needed to build something new.
The question was simple: does this already exist?
We looked at everything. Jotform. Typeform. Google Forms. IntakeQ. JotForm Healthcare. Formstack. We tested them, read their docs, watched their demo videos. Some of them were genuinely good at what they did.
But none of them solved the actual problem.
The forms weren't the problem
Every tool we looked at let you build forms. Nice forms. Mobile-friendly forms. Forms you could embed in a website or send via email. Forms with conditional logic and branching and all sorts of clever things.
But here's what none of them did: take the data a patient entered on one form and automatically populate it across every other form the clinic uses.
That's not a forms problem. That's a sync problem.
A new patient at an independent outpatient clinic typically fills out somewhere between 6 and 18 pages of forms. Intake questionnaire. Insurance authorization. HIPAA notice. Consent forms. Specialty-specific assessments. Their name and date of birth appear on almost every single page.
With every tool we tested, the patient fills out the intake form — and then a staff member retypes that same information into every other form. Or the patient fills out each form individually. Either way, the same data gets entered multiple times.
Jotform doesn't fix that. IntakeQ doesn't fix that. No form builder fixes that, because the problem isn't the form — it's what happens to the data after the patient submits it.
What we actually needed to build
The core of Sorta isn't the patient intake link. It's the sync engine underneath it.
When a patient fills out their information on Sorta, that data gets mapped against every template the clinic has uploaded. Every field that matches — patient name, DOB, insurance company, address, emergency contact — gets populated automatically across every form simultaneously.
The clinic uploads their existing PDFs once. Our AI maps the fields. From that point on, every patient's information flows automatically into every form without anyone retyping anything.
That's the thing that didn't exist. Not a better form builder. A sync layer that sits underneath all the forms and connects them.
Why we didn't just build on top of an existing tool
We considered it. There are APIs for Jotform and Typeform that technically let you pull submitted data and push it somewhere else. We could have built a wrapper on top of one of them.
The problem is that none of them understand the output side of the equation — the filled PDF that comes out at the end. A clinic doesn't just need the data to exist somewhere in a database. They need a filled PDF that looks identical to the form they've been using for years, stamped with the patient's information in exactly the right place, ready to hand to a provider or drop into a chart.
Building that on top of a third-party form tool would have meant we were dependent on their pricing, their API rate limits, their feature decisions. And we still would have had to solve the PDF generation problem ourselves.
So we built the whole thing.
What we learned
The form is the least interesting part of the problem. Every clinic has forms. They've had them for years. They don't want new forms — they want their existing forms to stop being painful.
That realization shaped everything about how Sorta works. We don't ask clinics to adopt our templates. We ask them to upload the PDFs they already use. The form doesn't change. The pain goes away.
If you've been trying to solve this problem with a form builder, that's why it hasn't worked. The problem isn't the form.
For how Sorta's intake tier is priced versus cobbling spreadsheets and SaaS tiers together, we publish the breakdown on its own page.