Case study · RE-AK Technologies

A four-sensor research app, in field use within a month

RE-AK Technologies needed its Nucleus-Kit research workflow on a phone. We built Vizia Mobile from an empty repository and handed it to their engineer.

← Selected work
Client
RE-AK Technologies, a neurotechnology company in Quebec
Engagement
Project delivery: DEVSFLOW owned the Android app end to end, then handed it over to RE-AK's engineer
Product
Vizia Mobile, the Android app for the Nucleus-Kit research kit
Platform
Native Android (Kotlin)
BeforeAfter
No mobile app for the research kitOne Android app records EEG, wristband, video and GPS together, in the field
An empty repositoryResearchers recording real sessions within a month
Sessions of one to four hours, phone in a pocketRecording keeps running with the screen off, with every stream on one clock
A new codebase built by an outside teamHanded over; RE-AK's engineer kept most of the code and keeps extending it
< 1 monthfrom an empty repository to real research sessions
4 sourcesrecorded together, screen off, for 1–4 hours
Most code keptby RE-AK's engineer after the handover
“Great job Zawar Nadeem, I'm a very satisfied customer, thank you for making the Vizia Mobile app.”
Frédéric Simard, RE-AK Technologies
01

The brief

RE-AK's Nucleus-Kit records how people respond in real-world settings, combining an EEG headset, a wristband, a point-of-view camera and the phone's GPS.

RE-AK asked for one Android app a researcher could take into the field: four sources recording at once, sessions of one to four hours with the phone in a pocket, and every session delivered to their cloud.

What was at stake

Nucleus-Kit: EEG, EDA, HR/HRV, GPS and POV camera integration
Nucleus-Kit in use with Vizia Mobile

Vizia Mobile screens

Home: status of the headset, camera and wristband
Home: status of the headset, camera and wristband
Headset connection screen
Headset connection screen
Operator consent, required before a session can start
Operator consent, required before a session can start
02

Our approach

Decision 01Give every device an explicit connection state
Context
With several devices connecting and dropping independently, ad-hoc status flags drift out of sync with reality.
Decision
One state machine per device as the single source of truth for connected, reconnecting and failed, read by every screen.
Tradeoff
More structure up front for each new device type, in exchange for one place to reason about connection behaviour.
Decision 02Serialize every Bluetooth operation
Context
Android Bluetooth fails quietly when operations overlap, and with two devices streaming at once, overlaps are constant.
Decision
Route every Bluetooth operation through a single queue.
Tradeoff
Slightly slower device setup, in exchange for removing a class of failures that are very hard to reproduce.
Decision 03Design for the screen being off
Context
Android stops background work whenever it can, and a session runs with the phone in a pocket.
Decision
Treat screen-off recording as the normal case from day one, not a feature added later, with one clock across all streams.
Tradeoff
More platform work early on, in exchange for sessions that survive real field conditions.
03

How we worked with the team

04

For your tech lead

The technical patterns behind this work are written up in our own engineering notes, without client detail:

Next step

Building a hardware-connected product that needs a mobile app engineered properly from the start? Tell us about the device and the data.

Book a 30-minute technical callor email info@devsflow.ca