Every business has a spreadsheet that stopped being a spreadsheet a while ago. Forty columns, three people editing it, a tab called "OLD DO NOT USE". It wants to be a database. The only question is how much of your data survives the trip.
The tools that convert spreadsheets into apps mostly share one design choice: they guess. They read your columns, decide what type everything is, build the thing, and show you the result. It's a great demo. The problem is what a wrong guess looks like afterward: nothing. The import reports success, the row count matches, and the damage is quietly distributed through your data where you'll find it one record at a time, for months.
My favorite example, because it bit a customer migration I did by hand: a
column full of dates like 03/04/2026. That's the 3rd of April in
Britain and March 4th in America, and a CSV export doesn't say which. A guessing
importer picks one, gets most rows "right" by coincidence, and now a third of
your follow-up dates are wrong in a way that looks exactly like being right.
There's no error to catch, because nothing errored.
Dropdowns have the same failure shape. If a Status column holds Active, On hold, and Closed, it should become a dropdown with those three choices. But a tool that silently invents the option list will happily add "Actve" as a fourth status because row 214 had a typo, and every view that groups by status inherits the mess.
When I built the Google Sheets importer for Bionic Forms, the rule was: every guess gets shown with its evidence, and where a wrong guess would be silent, the importer asks instead of deciding. The flow:
All or nothing sounds harsh until you've re-run a partial import and doubled four hundred records. A migration you can trust is one that either happened or didn't.
The sheet was fine until it had to be three things at once: the place data lives, the form people fill in, and the report your boss reads. A database app splits those honestly. Fields have types, so a phone number can't wander into the date column. Records have history, so you can see who changed what. Views are separate from data, so reorganizing a screen doesn't reorganize the truth. And a public form can feed new records in from outside without handing anyone the whole spreadsheet.
Bionic Forms is early (I publish the numbers: 12 users, none paying yet), and the paste-a-link import shipped this week. It works today in the browser, and everything it builds syncs to the desktop app, which keeps working offline. A live OAuth connection that picks sheets straight from Drive and keeps them in sync is built and headed into Google's verification process — the paste-a-link path stays either way, because needing zero permissions is a feature.