case studies/searebbel

Draw a line on the water with your finger. The boat sails it.

SeaRebbel builds proprietary marine autopilot hardware, with a routing SDK originally written in MATLAB. We put it in a skipper’s hand: a React Native app that turns a rough finger-drawn path into a navigable route, avoids land and reefs, and sends it to the device over Bluetooth to steer.

MATLAB
SDK, reached through native to React Native
18
sprints, one React Native codebase
Live
on iOS and Play, on real boats
<3s
from drawing to a plotted route
THE APP · THE ARGUMENT
The SeaRebbel app chart: a route plotted off the coast of Majorca from the boat’s position
THE HARDWARE
The helm of a boat at sea fitted with the SeaRebbel autopilot, its controls beside the wheel
› THE BRIEF

The intelligence existed. It had no way of reaching a skipper.

SeaRebbel’s routing logic was written in MATLAB, which is where that kind of work belongs while it is being developed and nowhere near where it needs to run. It had been compiled down to native iOS and Android SDKs, so the capability was real and on the device. What did not exist was any way for an application team to use it.

The product had to be one app on both platforms, which meant React Native, which meant the native SDKs had to be reachable from JavaScript. That bridge was the precondition for everything else on this page.

And the interface had to suit somebody standing on a moving boat. Not a waypoint table. A finger on a chart.

› THE BRIDGE

Three languages between the algorithm and the screen

The routing code was authored in MATLAB and delivered as native SDKs, one for each platform, with different shapes and different assumptions. We wrote the layer that makes both of them look like one thing to the React Native application, so the app has a single routing interface rather than two platform-specific ones.

WHERE THE ROUTING LOGIC LIVES, AND HOW THE APP REACHES IT
01 · SEAREBBEL
MATLAB
Where the routing algorithm was authored. Theirs, unchanged by us.
02 · SEAREBBEL
Native SDKs
Compiled to iOS and Android, two libraries with different shapes and assumptions.
03 · OURS
The bridge
A native module per platform, exposing both SDKs to JavaScript as one interface.
04 · OURS
React Native
The app calls routing once and does not know or care which platform it is on.
SeaRebbel owns the algorithm and we did not touch it. Our work was everything between it and the skipper, which is the part that decides whether the algorithm is a product or a research output.
One routing interface in the app, two native SDKs underneath it.
› THE HARD PART

A finger-drawn line is not a route. It crosses land.

The app works like a whiteboard. A skipper draws the path they want across the chart, roughly, with a finger, on a boat that is moving. What comes out of that gesture is a dense, jittery set of points that runs over headlands and straight across reefs. What the autopilot needs is a clean sequence of coordinates that is safe to sail.

Turning the first into the second has to happen fast enough that it still feels like a response to the gesture. Drawing to plotted route runs in under three seconds, which is the number that decides whether a skipper trusts the tool or goes back to waypoints.

FROM GESTURE TO STEERED COURSE
01DrawThe skipper traces a path across the chart with a finger, on a moving deck. The input is rough by nature and there is no expectation that it is accurate.
02ConstrainThe drawn line is checked against land and reefs. Anything that crosses them is not a route, it is a hazard, and it has to be corrected rather than warned about.
03OptimiseSeaRebbel’s routing produces a clean, sailable course from the corrected intent. Drawing to plotted route completes in under three seconds.
04ConfirmNothing reaches the hardware until the skipper accepts what they are looking at. The app proposes; the person decides.
05Send over BLEThe accepted coordinates go to the device over Bluetooth. No network, no cloud round trip, nothing that assumes a signal at sea.
06Follow and reportThe device steers to the coordinates on its own GPS and streams position back, so the app shows where the boat actually is against the route it agreed to.
Steps two and three complete in under three seconds. Nothing is sent to the hardware until the skipper confirms.
THE LINK
Bluetooth, on a boat, in salt air
Commands and confirmed routes go to the device over BLE, and position updates come back the same way. There is no network out there to fall back on, so the connection has to survive a phone locking, an app backgrounding and a skipper walking to the other end of the boat — and it has to be obvious in the interface when it has not.
THE PART USERS NEVER SEE
A hidden telemetry screen
Behind an undocumented gesture sits a debug view streaming raw telemetry from the device and the boat. When something misbehaves three miles offshore, nobody can attach a debugger. Being able to ask a skipper to open that screen and read out what it says is the difference between diagnosing a fault and guessing at it.
› OUTCOME

What SeaRebbel has now that they did not

THE ONE THAT MATTERS
The algorithm became a product
Routing logic that could only be reached by an engineer with the SDK is now something a customer operates with a finger. The app is published on the App Store and Google Play, and in use on real boats.
ONE CODEBASE
Both platforms, one team
Two native SDKs sit behind one interface, so a change to the routing experience is written once rather than twice, by people who do not have to be mobile specialists.
SUPPORTABLE
Faults can be read, not guessed
The telemetry screen means a problem at sea produces evidence. For hardware that operates out of reach of any support engineer, that is worth more than most features.
IN THE CLIENT’S WORDS
The DaaS Labs proved to be an exceptional partner, consistently demonstrating reliability, responsiveness, and a strong sense of project ownership. Their expertise in React and React Native is impressive, and they consistently delivered clean, efficient code while adhering to best practices. Beyond the technical skills, their proactive communication and problem-solving abilities made a significant positive impact on our project.
Paco M.
Head of Engineering, SeaRebbel
If your capability is stuck behind an SDK nobody can reach, that is a first sprint.
Book a scoping callSee the Mobile Lab