How to build an app from scratch
"From scratch" means two different things, and they hurt in opposite places. One is starting without knowing how to code. The other is starting without knowing yet what the app does. Tooling solved the first. The second is yours, and it is the one that decides whether the project moves.
Three sentences worth more than the tool
Before you open anything, write down:
- who uses it (one concrete person, not "customers");
- what they do there, as a single verb (order, book, log, look up);
- what is left stored after they leave.
If all three fit in three lines, the app has a shape. If they do not, no tool makes up for it: you will generate handsome screens for a product that does not exist yet.
Every app is the same thing underneath
Whatever the subject, what exists is a list, a detail screen, a form, and a rule about who sees what. An order, a booking, a student record and a maintenance ticket have exactly that anatomy.
That is why starting from the data is the short path. Start from the screen and you usually redo it a week later, when you discover a missing field that changes the whole layout.
The short path, in order
1. Write the three sentences. Five minutes.
2. Describe the app in one paragraph. Who uses it, what they do, what gets saved. That is enough for a first version to come out navigable, with sample data already inside.
3. Fix it from the screen. Open it, click, and ask for the change where it hurts: "this list needs a date filter", "this button should send a notice". Do not try to describe the whole app at once; a targeted correction lands better than a long specification.
4. Publish on the web. Your own address, a link that opens on anybody's phone, installable to the home screen. Send it to ten people.
5. Only then decide about the stores. If the app needs notifications and repeat use, the review time is worth it. If not, the link is already the product. The criteria are in native app, PWA or website.
Three ways to stall
- Login too early. Accounts bring forgotten passwords, permissions and recovery with them. If nobody is logging in yet, the app does not need login.
- Payments before there is a payer. Billing is the part that delays the most and teaches the least at the start.
- Stores before usage. Review is calendar time, and calendar time spent on an app nobody opened is lost twice.
The summary
- the hard part of "from scratch" is not the tool, it is the three sentences;
- every app is list, detail, form and permission: start from the data;
- navigable first version, then targeted fixes from the screen;
- publish on the web before the stores, and send it to ten people;
- postpone login, payments and stores until somebody is on the other side.