Skip to the case study
Maxsash Studio

Case study 03 / Real-time Intrusion Detection

A cable that raises the alarm.

Fibre-optic sensing turned into live security alerts: Raspberry Pis detect anomalies on private LANs; only alert details reach the notification server, while operators see events beside switchable CCTV and webcam video.

Deployed at five sites over a year and a half.

For
A client's security system
Role
Founding engineer, lead developer
Build time
About eight months
Built with
Spring Boot · InfluxDB · PostgreSQL · AWS · Raspberry Pi · React
Reading
2 min
03 / System drawingPrivate: no screenshots
PRIVATE SITE LANSEPARATE SERVICESTO PEOPLE AND MONITORINGFibre-optic sensorsHIGH-FREQUENCY DATALocal serverRASPBERRY PI · ANOMALIESAdmin serverMINIMUM ALERT DATAVideo serviceRTSP → BROWSEROwners & managersFOUR CHANNELSMonitoring screenMAP · CAMERAS · WEBCAMS

The brief

Fibre-optic sensing hardware produces a constant, high-frequency stream of readings. The client had the hardware; it needed the software that turns those readings into security alerts people act on, for critical infrastructure. It was a new project, with nothing to build on.

What I built

Two servers with different jobs. A local Raspberry Pi server runs the detection work and keeps private site data on the LAN. An admin server receives only the information needed to notify site owners and managers on WhatsApp, Telegram, email and ntfy.

The monitoring screen puts each event on a live map beside the relevant camera. A separate video service converts the RTSP feeds into something the browser can show, lets an operator switch between cameras or choose one for the monitor, and can take webcam inputs too.

The decisions that mattered

Compute on site; notify from one place

The local Raspberry Pi server does the detection work beside the sensors. Sensor and other private operational data stay on the site's LAN. The admin server has a narrower job: it receives enough alert information to notify the right owner or manager through the channel they use.

Keep two kinds of data useful

Sensor readings arrive continuously and are stored in InfluxDB, a database made for time series. Events, users and alerts are records that people look up and audit, so they live in PostgreSQL.

Turn RTSP into a usable monitoring view

The CCTV hardware exposed RTSP feeds, which browsers do not play directly. Converting a feed for the web introduces delay, so I built a dedicated service around that boundary rather than mixing video conversion into alert processing. Operators can switch among cameras, select the camera shown in the monitor and use webcam inputs when needed.

Put context beside every alarm

An alert on its own says that something happened. The monitoring screen shows where, on a live map, with the site's CCTV stream playing beside it, so whoever is watching can judge it at once.

Treat the network as part of access control

The Raspberry Pi deployment operates only on defined networks. Sign-in, role-based access and careful handling of credentials were part of the first version, not added later.

My part

I was the founding engineer and led the work: the architecture and technology choices, a team of backend and frontend developers, and the link between the hardware engineers and the software. I worked across the backend, infrastructure and deployment, then deployed and configured the system on site and trained the people who use it.

The outcome

The system has been deployed at five sites over a year and a half. It is private, so there are no screenshots; the drawing above shows how it fits together.

Open to freelance work

Something
to build?

Write with the idea, who it is for and when you would like it live. A few lines are enough to start.

What to expect

  1. 01

    Plan

    Who it is for, what the first version must do and what can wait. Advice on what will work for your business, not what looks fancy or costs too much. A short plan before any code.

  2. 02

    Build

    The screens, the backend and the database, built together so they fit, and shown to you as they take shape.

  3. 03

    Launch

    Deployed on your domain and handed over with everything you need to own it: the code, the accounts, and how to run it.

Backend or real-time work on its own is welcome too: APIs, event-driven systems, a database that has slowed down.