Most of the internal software a small business needs is embarrassingly simple. Leave requests. Purchase approvals. Equipment loans. Expense tracking. Yet these workflows still live in group chats and paper forms, because everyone assumes software means hiring a developer. It does not. You can build internal tools without coding, this week, using platforms you can learn in an afternoon.
I say this as someone who builds custom software for enterprises. For a large share of internal workflows, custom code is the wrong answer in 2022. The right answer is a form, a database, and a notification, wired together with a low-code platform. That pattern covers more ground than most owners believe.
This is a build recipe, not a tools overview. We will take one real workflow, purchase approvals, and walk through exactly how to turn it into a working tool without writing a line of code.
The pattern behind almost every internal tool
Strip away the branding and nearly every internal tool is the same three parts:
- A form where someone submits a request or a record.
- A database (really just a smart table) where the record lives with a status field.
- Notifications that tell the right person when the status needs their attention.
Leave requests, purchase approvals, IT support tickets, client onboarding checklists, vehicle bookings, incident reports. Same skeleton, different fields. Once you see the pattern, you stop asking "is there an app for this" and start asking "what are my fields and statuses."
The recipe: a purchase approval tool in one afternoon
Say your current process is: staff messages their manager on WhatsApp, manager says OK, finance finds out when the invoice arrives. Nobody can answer "what did we approve this month" without scrolling chat history.
Here is the low-code version, using Airtable as the example. Google Forms plus Google Sheets, or Notion databases, follow the same steps.
Step 1: Design the table first. Create a table called Purchase Requests with these fields:
- Requester (name)
- Item or service description
- Vendor
- Estimated amount (currency, IDR)
- Reason (long text)
- Urgency (select: normal, urgent)
- Status (select: Submitted, Approved, Rejected, Purchased)
- Approver notes (long text)
- Date submitted (created time, automatic)
The Status field is the heart of the tool. Every workflow is really a status machine, and getting the statuses right matters more than anything visual.
Step 2: Put a form in front of it. Airtable generates a shareable form from the table in about two minutes. Hide the Status and Approver notes fields from the form, set Status to default to Submitted, and share the link in your team's group chat or pin it on the company WhatsApp. Staff never see the database. They see a clean form on their phone.
Step 3: Wire the notifications. This is what turns a spreadsheet into a tool. Two automations:
- When a new record arrives with Status = Submitted, email the approving manager with the details and a link to the record.
- When Status changes to Approved or Rejected, email the requester and CC finance.
Airtable automations handle this natively on the free and low tiers. If you need WhatsApp or Slack instead of email, Zapier or Make bridges the gap for roughly USD 20 to 30 per month.
Step 4: Give the approver one view. Create a filtered view showing only Status = Submitted, sorted by urgency. The manager opens one link, sees exactly what needs a decision, changes the status, adds a note. Done.
Total cost: often Rp 0 to start, maybe Rp 300 to 500 thousand per month if you add automation tools. Total build time: an honest afternoon. Compare that to the quotes you would get for custom development, and compare it to the invisible cost of the chat-based version: no audit trail, no monthly totals, no accountability.
Three more workflows that fit the same recipe
- Leave requests. Fields: employee, dates, type of leave, replacement person. Statuses: Submitted, Approved, Rejected. Bonus: a calendar view of the table instantly shows who is off when, which alone justifies the build.
- IT and facility issues. Fields: reporter, location, description, photo attachment. Statuses: Open, In Progress, Resolved. The photo field is why forms beat chat: the evidence is attached to the record, not lost 400 messages up.
- Client onboarding. A table where each new client is a record, with checkboxes for each onboarding step and an owner per step. Less a form-driven tool, more a shared checklist, but the same database-plus-views thinking.
Start with one. The worst mistake is trying to systematize five workflows simultaneously. Ship one, let the team live with it for two weeks, then take the next. This discipline also keeps you from tool sprawl, which quietly becomes its own budget problem, as I covered in subscription creep.
Where low-code honestly ends
I would be lying if I told you this scales forever. Signs you are outgrowing the low-code stage:
- Volume. Hundreds of records per day, or automations hitting platform limits and failing silently.
- Complex logic. Multi-step approvals with different rules per amount, per department, per role. Low-code can fake this, but the workarounds become fragile and only one person understands them.
- Integration depth. You need the tool to talk to your accounting system, your POS, or a customer-facing app in real time, not via a nightly Zapier sync.
- Permissions. You need row-level security, where staff see only their own records and managers see their team's. Most low-code platforms handle this crudely or expensively.
- The tool becomes the business. If a workflow is now core to how you make money, running it on a personal Airtable account owned by an employee who might resign is real risk.
When you hit two or more of these, that is the moment to consider custom development, and here is the underrated part: your low-code tool becomes the specification. You already know the fields, statuses, rules, and edge cases, because you have run them in production. Custom builds that start from a proven low-code prototype are cheaper and dramatically less likely to miss, which is worth remembering when deciding what kind of technology leadership you need.
Start with one form this week
Pick the workflow that generates the most repeated questions in your group chat. Write down its fields and statuses on paper first. Build the table, attach the form, wire two notifications, and hand the approver one filtered view. That is the whole recipe.
You will have a working internal tool by Friday, an audit trail by next month, and a much clearer idea of what your business actually needs before you ever pay a developer.