Software Development & Services

Desktop software for Windows, macOS and Linux

From line-of-business tools to customer-facing applications, we build desktop software that uses each platform properly and installs and updates cleanly.

Technology
  • C#
  • .NET
  • WPF
  • WinUI 3
  • .NET MAUI
  • Swift
  • SwiftUI
  • AppKit
  • Qt
  • GTK
  • Rust
  • Electron
  • MSIX

Your situation

Is this what you are looking for?

If any of these sound familiar, this service is for you.

  • A business-critical program only runs on an old Windows version
  • The original developer has left and nobody can change the code
  • Staff need to use a program on Mac or Linux too
  • Installing or updating the software is slow and error-prone

The work involved

What needs to be done

Whatever the size of the project, these are the steps that decide whether it succeeds.

  1. 1

    Decide which systems the software must support

    Agree the operating systems and versions in use. Each extra platform adds design, packaging and testing work, so this choice drives cost.

  2. 2

    Review any existing software and data

    For older programs, assess the code, dependencies and data. Decide what to keep, what to rewrite and how to move in steps without stopping work.

  3. 3

    Choose native or cross-platform

    Weigh the best fit and device access of native apps against the lower effort of one shared codebase. Pick one based on features and team skills.

  4. 4

    Build, integrate and test on target machines

    Develop the application, connect it to databases, files, devices or APIs, and test on real machines and configurations that match your users.

  5. 5

    Package, sign and plan updates

    Create installers that work with your deployment tools, sign the builds so systems trust them, and set up a safe update method.

How we can help

How we can help

This is what we do for you, so your team can stay focused on running the business.

Windows applications

New applications with WPF or WinUI 3 on .NET, Windows services and tools, and staged modernization of WinForms, VB6 and older .NET Framework software.

Ask about this

macOS applications

Native Mac apps with SwiftUI and AppKit, including document apps and menu bar utilities, with App Sandbox, entitlements and support for Apple silicon.

Ask about this

Linux software

Desktop apps with Qt or GTK, systemd services and daemons, and command-line tools in Rust, C++ or Python, built for the distributions you support.

Ask about this

Cross-platform desktop apps

One codebase for several systems using .NET MAUI, Qt or Electron when it fits. We weigh this against native apps before you commit.

Ask about this

Enterprise desktop solutions and integration

Local and server databases, REST and SOAP services, device and file integration, and sign-in with Microsoft Entra ID or Active Directory, with APIs for other systems.

Ask about this

Packaging, signing and updates

MSIX and installers with code signing for Windows, Developer ID signing and notarization with DMG or pkg for macOS, and deb, rpm, Flatpak or AppImage for Linux, plus update mechanisms.

Ask about this

What is included

The platforms, frameworks and packaging formats we work with.

Windows

  • WPF
  • WinUI 3
  • WinForms modernization
  • Windows services
  • MSIX and installers

macOS

  • SwiftUI and AppKit
  • Menu bar utilities
  • App Sandbox and entitlements
  • Notarization
  • DMG and pkg

Linux

  • Qt and GTK
  • systemd services
  • Command-line tools
  • deb and rpm
  • Flatpak and AppImage

Cross-platform

  • .NET MAUI
  • Qt
  • Electron
  • Avalonia

What you get

Outcomes we aim for on every Desktop software engagement.

Discuss this service

  • Software that follows each platform conventions
  • Installers that work with your deployment tools
  • Signed and notarized builds users can trust
  • A modernization path for older applications that keeps what works

Common questions

Should we build native apps or one cross-platform app?

Native apps give the best fit and access to system features, and cross-platform frameworks can cut effort when features are simple. We compare both against your users, devices, budget and team skills before you decide.

Can you modernize our old .NET Framework or VB6 application?

Yes. We assess the code and dependencies first, then migrate in steps, often starting with shared libraries and the data layer, so the application keeps running during the work.

How do you handle distribution on Mac and Linux?

On macOS we sign with Developer ID and notarize for direct download or managed deployment, or go through the Mac App Store when it suits. On Linux we agree the distributions at the start, because each adds packaging and testing work, and can provide more than one package format.

Have a project in mind?

Tell us what you are trying to achieve. We reply within one business day with next steps.