A close up of a circuit board.

Get in touch

Talk to an engineer who can help you with your project.

A close up of a circuit board.

Get in touch

Talk to an engineer who can help you with your project.

App Design

The app is the part of your device people think they are using — and almost all of the difficulty sits in the layer where it meets the hardware.

Most companion apps are built by people who have never seen the firmware. That holds up until the connection drops halfway through a reading, or the device goes to sleep while the phone is in a pocket, or someone walks out of range with a session half‑finished. The screens were never the hard part.

The hard part is underneath: deciding what to show when the app has not heard from the device for ten seconds, whether a partial reading is worth displaying at all, and what to tell a user when something has gone wrong at the other end of a radio link. Answering any of that means knowing what the firmware is actually doing.

We write the firmware, so we do.

Developing an app to be useable by everyone

OnaWave came to us needing to move quickly from a concept to something that worked. Endometriosis takes an average of seven to ten years to diagnose, and EndoSolve exists to shorten that, which meant the fastest route to real data mattered more than a polished first version.


We worked across the whole system: the electronics, the firmware, the mechanical design and the companion app, along with the prototype units that went out into their field studies. Because one team held all four, the app was built against firmware we had written rather than against a document describing it, and both moved together as the device changed.

"IMME Design supported us from early proof of concept through to full product development, including electronics, firmware, mechanical design, app development, and the prototypes used in our field studies. Their ability to deliver across these disciplines as a single, integrated team made a significant difference."

John Hegarty, COO, OnaWave Medical

The data question that gets asked too late

A companion app for a health device handles some of the most sensitive information a person has. Under GDPR, health data is special category data, and those obligations do not wait politely for a device to be formally classified.


The questions worth settling early are unglamorous and cheap to answer at the start. What is actually stored on the phone, and what is sent onward. Who can read it. How long it is kept. Whether the app needs to hold identifiable data at all, frequently it does not, and a design that never collects a name is far easier to defend than one that collects it carefully. The expensive version is discovering during a funding round or a hospital procurement review that nobody wrote any of it down.

We raise these at architecture stage, because the answers change the firmware and the backend as much as they change the app.

What we do

An icon representing bluetooth.

Pairing and reconnection that works the first time

Pairing and reconnection that works the first time

Bluetooth pairing that a patient or a nurse completes without instructions, and reconnection that handles the ordinary realities — the device asleep, the phone in a pocket, the user briefly out of range. iOS and Android behave differently here, and both are tested.

An icon representing disconnecting plugs.

Deciding what to show when the device goes quiet

Every connected product spends some of its life not connected. We decide in advance what a partial reading is worth, when data becomes too old to display, and what the user is told when something has failed at the far end — rather than leaving a screen showing a number that stopped being true four minutes ago.

An icon representing a fingerprint.

Interfaces for the person actually holding the phone

A patient using a therapy device at home is not at a desk and may be in discomfort. A clinician has thirty seconds and possibly gloves. We design for the moment the app is opened and the thing the person needs then, rather than building a dashboard that suits an engineer.

An icon representing a screwdriver.

Updating firmware over the air

Delivering firmware updates through the app, with versioning, verification and a way back if an update fails. Getting this right is what lets you fix something after the product has shipped; getting it wrong turns a device in someone's home into a brick.

An icon representing a sheet with a magnifying glass.

Where a companion app becomes a regulated device

An app that displays a reading is one thing. An app that interprets it, recommends an action or drives therapy may be Software as a Medical Device, with the documentation burden that implies. We will tell you early which side of that line a feature sits on, because it is far cheaper to know before it is built.

An icon representing a handshake.

Built with the firmware, not against a document describing it

The protocol between device and app is designed once, by the people writing both ends of it. When something needs to change, both sides change together in the same week — instead of becoming a negotiation between two suppliers with different release cycles.

Talk to whom you will be working with

An image of Garrett Brennan, an IMME engineer.
Garrett Brennan

Software Engineer

Garrett is a Vancouver based software engineer who has been writing embedded software since 1990, and who builds the apps that talk to it — iOS and Android, alongside C, PLC and structured text, and SQL. On a connected product that means the person deciding what the firmware sends is the same person deciding what the app does with it, so the protocol between them gets designed once rather than negotiated between two suppliers.

Frequently Asked Question

Do you design apps on their own, or only alongside hardware?

We do both, but our strength is designing apps that connect closely with hardware. That includes companion apps, control interfaces, and data visualisation for connected devices. We make sure the app and the product feel like one coherent system.

Will the app work on both iOS and Android?
How do you make sure the app is easy to use for non-technical users?
Can you help connect the app to our device and backend systems?

Do you have questions about our services?


GET IN

TOUCH

A render of the Onawave device, sitting on a table and the case in focus.
The printed circuit board of the Onawave device, held over a table.

Do you have questions about our services?


GET IN

TOUCH