Desktop application development for Windows, macOS and Linux

Some work does not belong in a browser tab. We build desktop software for operations that need local processing power, direct hardware access and the certainty that the software runs whether or not the network does.

What we build

Where desktop still wins.

We are not going to argue that everything should be a desktop app. These are the cases where it is genuinely the right call.

/ 01

Production and lab tooling

Software that sits next to the machine it controls. Serial and USB devices, measurement hardware, label printers, scales, PLC bridges. Browsers cannot reach this hardware reliably; desktop applications can, and they keep working when the building loses its connection.

/ 02

Data-heavy analysis

Applications that chew through files too large to push over a network on every operation — imaging, CAD exports, financial datasets, log archives. Processing happens on the workstation that already has the CPU and the disk, not on a server you have to rent by the hour.

/ 03

Regulated and offline environments

Places where data is not allowed to leave the building, or where there is no reliable connection to begin with. The application holds its own local store and synchronises deliberately, on terms your compliance team has actually approved.

How we work

Built to survive an OS upgrade.

Desktop software has a specific failure mode: it works perfectly for three years, then an operating system update breaks it and nobody remembers how it was built. We engineer against that from the start — reproducible builds, pinned dependencies and a signing pipeline that still works when the person who set it up has moved on.

Stack

We choose on the project, not on our preferences. C#/.NET where the environment is Windows-centric and the software has to integrate with Microsoft infrastructure. Qt or Electron where one codebase has to cover Windows, macOS and Linux — Qt when performance and hardware access matter, Electron when the interface is the hard part and the team already knows the web stack. Native Swift on macOS when the product has to feel like it belongs there.

What we handle beyond the code

  • Signed installers for each platform — signing is now a condition of entry, not a formality
  • Auto-update channels, so a fix reaches users without a manual rollout across every workstation
  • Crash reporting from real installations, not just from the machines we test on
  • Silent deployment packages when IT has to push the application across a fleet
  • A migration path when data has to move from a legacy tool the business has outgrown

Replacing something that already exists

Desktop work is more often a replacement than a greenfield build — an Access database that outgrew itself, a Delphi application whose author retired, an Excel workbook doing the job of a system. We start by reading the thing that exists, because the awkward edge cases inside it are usually the actual business rules, written down nowhere else.

Questions

Things clients ask before starting.

Why not just build a web application?
Usually you should. Desktop earns its place when the software needs direct hardware access, heavy local processing or guaranteed operation without a network. If none of those apply, we will tell you that a web application is the cheaper and more maintainable answer — and we build those too.
Can it run on Windows, macOS and Linux from one codebase?
Yes, with Qt or Electron. There is always some platform-specific work at the edges — installers, file dialogs, hardware permissions — but the bulk of the application stays shared. We tell you honestly where the cross-platform seams will be before you commit.
What about code signing and distribution?
We handle it. Windows expects an Authenticode signature — unsigned installers trigger SmartScreen warnings and are often blocked by corporate policy — and macOS requires notarisation through Apple. Both can be set up in your company's name, so the identity is yours. Distribution can be a download, an auto-updating channel or silent MSI/PKG packages for IT deployment.
Can you take over software someone else wrote?
Frequently. We start with a technical review of whether it can be built from source today, what it depends on and what breaks at the next OS release. You get a written assessment of repair versus rewrite, with a cost against each, so the decision is yours to make on the numbers.
Next step

Tell us what the software has to run on.

Describe the workflow, the hardware and the operating systems involved. We will come back with an approach and a scoped estimate.