Back to portfolio
Case Study

Monitoring teplot

Temperature monitoring across hundreds of refrigerated vehicles

Architecture diagram of the temperature monitoring system: data sources, normalisation, .NET API, MS-SQL and a mobile client through the DMZ

About the project

The client distributes pharmaceuticals in hundreds of vehicles, each with a refrigerated compartment fitted with temperature sensors. A deviation means a spoiled shipment and a problem at audit time, so the state of the whole fleet had to be visible immediately rather than after the fact. The system collects data from several independent sources, each with its own format, unifies them into a single data model and presents them on a dashboard that updates continuously without a page refresh. A .NET MAUI mobile application gives drivers and dispatch visibility away from their desks. The backend runs inside the internal network and communication with mobile devices passes through a gateway in the DMZ. The client is under NDA, so this study contains no screenshots or identifying details. The accompanying diagram shows the architecture of the solution. Development ran agile, in short iterations with regular demos and continuous deployment, so the client saw working parts of the system long before the whole was finished.

Project information

Client

Pharmaceutical company (under NDA)

Platform

Multi-platform

Status

Completed

Development time

7 months

Year

2026

Technologies used

Check out the stack I used for this project

Frontend

.NET MAUI

Backend

.NETC#Entity FrameworkSignalRREST API

Database

MS-SQL

Cloud

DMZ / on-premise

Key features

Realtime dashboard covering the entire fleet

Temperature sensors in the refrigerated compartments of hundreds of vehicles

Aggregation of data from several sources with differing formats

Normalisation into a single data model including validation

Role-based access control and an audit trail over every change

Alarms when limit values are exceeded on a specific vehicle

A .NET MAUI mobile app for drivers and dispatch

Measurement history and exports for audit purposes

Challenges

  • 1

    Hundreds of vehicles reporting at once and at varying intervals

  • 2

    Every data source used a different format and record structure

  • 3

    The dashboard had to show current state without manual refreshing

  • 4

    Backend inside the internal network, but mobile clients out in the field

  • 5

    The brief kept being refined based on experience from live operation

Solutions

  • 1

    A data model and queries designed for a constant inflow from the whole fleet

  • 2

    A normalisation layer converting every input into one model

  • 3

    Changes pushed to the dashboard instead of periodic polling

  • 4

    A DMZ gateway with device authentication as the single way out

  • 5

    Agile development in short iterations: regular demos, continuous deployment and priorities adjusted from feedback

Results

Every vehicle on one screen instead of several separate systems

A temperature deviation surfaces immediately, not during a records check

A traceable measurement history for audit purposes

Access to field data without weakening internal network security

Development timeline

From analysis to deployment - how the project evolved

5 weeks

Analysis and design

Mapping data sources, designing the data model and security architecture, breaking work into iterations

6 weeks

Integration layer

Connecting sources, normalising formats, validating and deduplicating data iteration by iteration

9 weeks

Backend and dashboard

The .NET API, database model, realtime updates, roles and audit trail with a demo at the end of each iteration

5 weeks

Mobile application

The .NET MAUI client and secured communication through the DMZ gateway, tested continuously with users

5 weeks

Testing and deployment

Scenario verification, load testing and rollout into the internal infrastructure

Have a similar project?

I'll be happy to help you build your application. Feel free to contact me for a free consultation.

Contact me