Expertise

Expertise

Realtime & Device Integrations

Bluetooth Low Energy, WebRTC, websockets, WebGL — software that has to respond directly to the physical world.

Flat illustration with a radio transmitter and broadcast waves in muted tones

A significant part of my projects involves software that has to react in real time — to a meter, a camera, a mouse movement in a 3D scene, or another player on the other side of the world. That kind of work requires different thinking than classic request/response software: timing, failure modes, and behavior on connection loss become first-class concerns instead of afterthoughts.

For thrombosis care I integrated multiple brands of Bluetooth INR meters via Bluetooth Low Energy. Every brand and model has its own protocol, data format, and quirks. Per device I implemented the protocol with attention to stable connections, error detection, and clear feedback to the patient when something doesn't go entirely smoothly.

For the online teacher learning environment for sign-language education, we used WebRTC inside a Cordova app. WebRTC has plenty of power but plenty of sharp edges: NAT traversal, codecs, fallback paths, browser differences. We deliberately worked on a solid connection base first with clear feedback when something doesn't work — so a teacher isn't blocked by cryptic technical errors.

In the CRM/ERP for serial-numbered production files and in the repair portal, websockets played the role of the realtime layer: status changes made in the workshop are visible at the counter immediately, without anyone needing to refresh. Vert.x on the back-end made that event-driven approach natural; on the Angular side a lot of attention went into consistency between local state and server events.

In the 3D configurator the challenge sat in collision detection between 3D elements in a WebGL environment inside Angular. In a purely component-driven canvas situation that means thinking scenegraph-style inside a framework not built for it: when to compute, how to cache, and how to prevent an innocent rerender from recomputing an entire 3D stage.

What I always look for in this kind of work is balance: as much realtime as needed, no more. Every live connection adds complexity — reconnection, shared state, event ordering — and is only worth it when the user experience or business outcome clearly demands it.

Relevant skills

What I bring to this domain

TypeScript Kotlin Angular 8 Angular 5 Angular 4 Angular 2 Ionic Cordova WebGL HTML5 Canvas WebRTC Vert.x

Work in this domain

Related projects

More expertise

Other expertise areas

Contact

Working in this domain?

Facing a similar challenge? Let's have a no-obligation conversation.

Discuss Realtime & Device Integrations