Journal

Reviews of the tools I use to build for clients, written for the people who end up paying for them. Each one covers what the tool costs you, what it saves, where it falls short, and when I would not use it.

6 articles

Why client automations run on n8n, not Zapier

Per-task pricing punishes success. A self-hosted workflow engine costs the same whether it runs ten times or ten thousand.

Zapier and its peers are excellent for trying an idea in an afternoon. The trouble starts when the idea works. Hosted automation platforms generally charge by the task or operation, so the more useful an automation becomes, the larger the bill, and a process that handles every invoice or every enquiry can climb through pricing tiers quickly.

n8n does a similar job: a visual workflow, triggers, connections to common services. The difference for clients is that it can run on a small server you own, under its fair-code licence, for the cost of that server.

What it gives you

  • A predictable monthly cost that does not grow with volume.
  • A visible history of every run, so you can see exactly what happened to a given document.
  • The option to keep sensitive data on your own infrastructure.

Where it falls short

Someone has to keep the server patched and backed up, which is a real cost, and it is why I offer care plans. The visual editor also gets unwieldy for complicated logic, so that part moves into small Python services alongside it.

When I would still choose Zapier: low-volume, low-stakes jobs, where nobody wants to own a server and the monthly bill will stay small.

Proxmox for a small office: when one box is enough

A single well-specified server can replace several monthly bills. Here is when that is true, and when it is a false economy.

Proxmox VE is free, open-source software that turns one physical machine into several virtual ones. For a small office, that can mean a file server, an internal app, a workflow engine and a test environment all sharing a single quiet box in a cupboard.

When it makes sense

  • You have steady workloads that would otherwise sit on several cloud subscriptions.
  • Most users are in one building, so local speed matters.
  • You have decent broadband and somewhere sensible to put the machine.

When it is a false economy

If the business cannot tolerate a day of downtime while a failed part is replaced, a single box is the wrong answer, or needs a second one and an off-site copy beside it. Customer-facing websites almost always belong in the cloud, not on office broadband.

The test I use: if the server died tonight, what would tomorrow look like? If the answer is "awkward but fine, we restore from last night", one box can be enough.

Choosing the model behind an agent that touches your invoices

Hosted or local, large or small: the choice is about your data and your error budget, not benchmarks.

Clients often ask which AI model their automation uses, as though there were one right answer. There is not. The choice comes down to three questions, asked in this order.

1. Where is the data allowed to go?

If documents contain personal or commercially sensitive information, we check the provider's data-processing terms, where data is processed, and whether it is used for training. Sometimes the answer is a smaller model running on your own hardware.

2. What does a mistake cost?

Misfiling a newsletter costs nothing. Paying the wrong supplier costs a lot. Higher stakes mean a more capable model, stricter rules around it, and a person approving the result.

3. What does it cost per document?

Only then do we look at price. For routine extraction, a smaller and cheaper model is often just as accurate as a large one, and the sample stage of a project measures this on your own documents rather than guessing.

In practice: the model is a replaceable part. Automations are built so that it can be swapped later without rebuilding everything around it.

PostgreSQL is the boring choice, and that is the point

Your business data should live somewhere that will still be supported, documented and understood in fifteen years.

Every few months a new database promises to make development faster. Some of them are genuinely good. But a small business does not benefit from novelty in the place where its customer records, orders and invoices live.

PostgreSQL has been developed in the open for decades, is supported by every major cloud provider, and is familiar to a very large number of developers. If LanceTek disappeared tomorrow, finding someone else to work on your system would be straightforward.

Where it falls short

It needs looking after: backups, upgrades, the occasional slow query. A managed database service removes most of that for a monthly fee, and for many clients that fee is worth paying.

Verdict: the default for every LanceTek application unless there is a specific reason otherwise, and so far there rarely has been.

Tailscale instead of a VPN appliance

Private access to office systems from anywhere, without opening ports or buying hardware.

Small businesses often need staff to reach an internal system from home: the office file server, an admin screen, a printer queue. The traditional answer is a VPN appliance and some firewall rules, and in my experience that is often where security quietly erodes.

Tailscale builds a private network between your devices using WireGuard, with sign-in through the accounts your team already uses. Nothing has to be exposed to the internet, and removing a leaver's access is one click.

Where it falls short

It is a hosted coordination service, so you are trusting a third party with the map of your network, though not your traffic. For businesses that cannot accept that, the open-source Headscale server is an option, at the cost of running it yourself.

Verdict: the default for private access on LanceTek infrastructure, including the homelab.

Django's admin: the back office you do not pay for twice

Most internal tools need the same unglamorous screens. Django provides them out of the box, so your budget goes on the parts that are specific to you.

Every business application needs ways to find a record, edit it, see who changed what, and export a list to a spreadsheet. Building those screens from scratch is slow, and it is the least valuable part of any project.

Django, a Python web framework, generates a working admin interface from the data model. With some care it becomes a perfectly good back office for staff, leaving the custom budget for the screens customers or field staff actually see.

Where it falls short

It looks like what it is: a functional admin. For screens used all day by non-technical staff, a purpose-built interface is usually worth the extra cost.

Verdict: one of the main reasons a LanceTek build can come in at a small-business price.

Want a second opinion on a tool you already pay for?

Send me what you use and what it costs. A short, honest view is free.

Ask a question