Skip to main content

Dev Station Technology

Technologies

The stacks behind systems that run in the field

Dev Station builds digital inspection platforms and industrial IoT systems. These are the technologies those systems run on, taken from work in production.

40+Developers on staff
12+Years average leadership experience
6Stacks kept in daily use
3Markets served: UK, US, Australia
How we choose

A stack is a maintenance commitment

What we build has to keep working for years on a device somebody carries onto a site. That narrows the field fast. Where a client already runs a stack, we work in it, and only argue when the choice will cost them later.

Offline is the default

Every field app writes to the device first, then drains a queue the user can watch. Basements and lift shafts kill mobile data.

The instrument is part of the stack

Bluetooth LE, a gateway or the maker SDK. A reading off the tool beats a number typed from memory.

You own what we write

Repositories and cloud accounts stay in your name from the first commit.

01 / Stack

Back end technologies

Two back ends carry most of the work. ASP.NET Core sits under the platforms that started on the Microsoft side, Python with FastAPI under the newer services, and a broker behind both because readings arrive faster than a request cycle tolerates.

.NET
.NET
Java
Java
Node.js
Node.js
RabbitMQ
RabbitMQ
Apache Kafka
Apache Kafka
02 / Stack

Front end technologies

React with TypeScript for consoles that refresh on a tick, Angular where an inherited platform already runs on it. Charts are SVG we render in-house, because a dispatch screen repaints many panels at once.

Angular
Angular
React
React
Vue.js
Vue.js
TypeScript
TypeScript
03 / Stack

Mobile technologies

Native iOS and Android where the app holds a Bluetooth session and a local database at once. Cross-platform through .NET MAUI, which is where Xamarin work now goes.

iOS
iOS
Android
Android
React Native
React Native
Flutter
Flutter
Xamarin
Xamarin
04 / Stack

Cloud technologies

Azure most often, because the platforms we took over were already there, with Azure SQL, Blob Storage and AD B2C behind sign-in. AWS and Google Cloud where the client already runs on them.

05 / Stack

DevOps technologies

Pipelines in Azure DevOps or GitHub Actions, containers where the load justifies them, infrastructure described in code. On a recovered project the first job is usually rebuilding the environments.

GitOps
GitOps
Nexus
Nexus
AWS CloudFormation
AWS CloudFormation
Docker
Docker
Terraform
Terraform
Kubernetes
Kubernetes
Jenkins
Jenkins
06 / Stack

AI technologies

Vision models for defect and presence checks, trained on your own images. Where a threshold and a rule would do the job, we say so and skip the model.

scikit-learn
scikit-learn
XGBoost
XGBoost
LightGBM
LightGBM
PyTorch Lightning
PyTorch Lightning
LLaMA
LLaMA
Keras
Keras
ChatGPT
ChatGPT
ONNX
ONNX
Apache Airflow
Apache Airflow
OpenCV
OpenCV
Apache Spark
Apache Spark
PyTorch
PyTorch
spaCy
spaCy
TensorFlow
TensorFlow
Python
Python
CatBoost
CatBoost
YOLO
YOLO
MLflow
MLflow
Kubeflow
Kubeflow
NLTK
NLTK
Decisions

Choices we have already made, and why

Ask any agency what they use and you get a logo wall. These are the positions behind ours.

1

Xamarin work now goes to .NET MAUI

Microsoft ended support on 1 May 2024. Two platforms we maintain started on Xamarin, so the migration is live work. If you run a Xamarin app today, the question is when, not whether.

2

Records are written to the device first

A system that needs a live connection at the moment of the check loses records exactly where the check matters. SQLite on the phone, a queue the user can see, and no closing a record without the evidence.

3

Instruments talk over BLE or their own SDK

Where the maker publishes an SDK we integrate against it, as we did with KTC for digital torque on the Hydrajaws platform. Otherwise Bluetooth LE or a gateway. Send model numbers and we will say which ones we can read.

4

Telemetry arrives over MQTT

Position and engine data arrive faster and less reliably than a request cycle tolerates. MQTT ingest with a broker in front keeps the console responsive when a hundred units report at once. Anything with a location goes in PostGIS.

What we build

What these stacks get used for

In production

Two systems and the stack each one runs on

Dev Station digital testing platform for anchor and torque inspection
Construction, United Kingdom

Work-at-height anchor and torque platform

React dashboard, ASP.NET Core on Azure, a .NET MAUI field app reading testers over Bluetooth, Power BI on top.

React, ASP.NET Core, Azure, .NET MAUI, BLE
TruckFleet Labs dispatch console and driver app built by Dev Station
Logistics

TruckFleet Labs

React 18 console, FastAPI behind it, PostGIS for stops and geofences, Redis for the queue, MQTT for telematics, native iOS for drivers.

React 18, FastAPI, PostGIS, Redis, MQTT, iOS

Our engineers have delivered for Karcher GmbH, Topicus Finance, Team Assurance and Standard Chartered Bank, alongside the equipment makers and inspection providers who make up most of the order book.

FAQs

What buyers ask about the stack

We already run on a stack you did not list. Can you work in it?

Usually yes. Most of our work starts inside a system somebody else built, and the first job is to document it before changing anything.

Our app is still on Xamarin. How bad is that?

Support ended on 1 May 2024, so you are running without updates until a store requirement or an OS release stops it. The upgrade path is .NET MAUI, and we have taken it on platforms we maintain.

Can you read our testers, gauges and torque tools?

Usually yes, over BLE or a gateway, or against the maker SDK where there is one. Send the model numbers and we will say which ones we can read.

Who owns the code and the cloud accounts?

You do, from the first commit. Repositories and cloud accounts stay in your name, so leaving us never needs a migration project.

Send us the stack you run now

Thirty minutes with the engineers on what you run, what it talks to and where it hurts. If the answer is to leave it alone, you will hear that.

Let's Talk