עברית
Motion
AccessibilityPrivacy
Case study08 / 15Oct 2023 – Feb 2024

Hamal Monitoring App

A live floor plan of every device in an ops room, grown from a single ops room into a monitoring app for many sites.

Role
Sole developer
Organisation
Tikshuv AKA – the C4I and digital branch of the IDF Personnel Directorate (AKA)
Period
Oct 2023 – Feb 2024
Context
Military service at Tikshuv AKA
Try the live demo (opens in a new tab)sample data · changes are undone about 3 hours later

01 / What an ops room needs to know

An operations room (in Hebrew, a hamal) runs on many devices: computers on several separate networks, phones, printers, fax machines and video-conference endpoints. When one of them fails, the IT support staff need to know at once which device it is, where it stands in the room and how it is connected.

Before this app, those details lived in spreadsheets, and nothing showed at a glance what was down or where to find it.

  • No live view of which device is down
  • Device details scattered across spreadsheets
  • Several separate networks in one room
  • Many rooms, bases and regions to cover

02 / What I built

A full-screen Windows app that draws each room as a floor plan, with every device placed where it really stands. In the background the app checks every device: a working device shows green, a failed one turns red and blinks, and an alarm sounds. Clicking a device opens its full record.

It started with a single hamal. Release by release I grew it into a monitoring app built for many sites: a side panel that lists regions, bases, ops rooms and cells, with a status chart at every level, two editions chosen by the licence, and a proper installer.

How it came together

  1. Oct 202325 days, brief to productionThe first release, built in wartime for one hamal: floor plans, live checks, alarms, device records, edit mode and an installer.
  2. Nov 2023Two editions, many sitesA side panel of regions, bases, ops rooms and cells with status charts, plus two editions and licences.
  3. Dec 2023One app, licence picks editionBoth editions merged into one app; the licence decides which one runs. A monitoring switch per device, new record fields.
  4. Dec 2023Location cards and mapsA contact card with a map for every region, base and ops room, plus more reliable saving.
  5. Feb 2024Version 2.4.2A big code clean-up, a network-only view, new device types, free rotation, and a room-plan drawing tool in the installer.
  6. Sep 2024Next step: a browser versionI started a web version of the same region-to-device view.

03 / Highlights

01

The room at a glance

Each room is a floor plan showing every device, so a failed one is found on the plan, not in a list.

02

Alarms no one misses

Devices are checked at a set interval. A failed one turns red and blinks, and one of five alarm sounds plays.

03

A full device record

One click shows everything about a device: where it sits, what it is, its classification, network addresses, computer name, model, serial number and the network port it is plugged into.

04

One room to a region

A side tree lists regions, bases, ops rooms and cells, with a live status chart for each and a location card for every site.

05

Knows its own network

Warns when the station itself is cut off, so a fault at the station never looks like every device failing. Devices it cannot reach are dimmed, and every chart can show one network at a time.

06

Installer and licences

An installer, two editions, and a licence for each monitoring station, bound to that computer and an expiry date and issued with my own tool.

04 / Screens

18 screens · sample data
Version 2.4.2: every region, base, ops room and cell in one tree, each with a status bar (green: all up, orange: some down), and the live chart of the ops room under the mouse. Demo data.
01 Version 2.4.2: every region, base, ops room and cell in one tree, each with a status bar (green: all up, orange: some down), and the live chart of the ops room under the mouse. Demo data.
Hovering a cell in the tree previews its floor plan
02 Hovering a cell in the tree previews its floor plan, with every device on it, without leaving the main screen.
The tree opened down to the devices of one cell
03 The tree opened all the way down to one cell's devices, each listed by type and station with its own status mark.
A cell in full screen, with a device that stopped answering shown in red
04 A cell in full screen, with the path to it (ops room, then cell) at the top right. Every device sits where it stands. The VPN computer at the top left and the white phone lower down on the same side have stopped answering, so they turn red and blink, and the alarm sounds. The dimmed computers belong to other networks and are not checked from this station.
A device's full record
05 Clicking a device opens its record: station, type, classification, IP and MAC, phone and extension, model, serial number, switch address and port, the person in charge and notes. The gear opens the editor.
The device editor
06 The editor: drop-downs for the device type and the classification, fields that fit the type, a switch that turns monitoring on or off for this device, and save and delete.
Edit mode, with a new device placed on the floor plan
07 Edit mode: "+" adds a new device, which is dropped on the plan, then moved, rotated and resized. Leaving edit mode asks before saving.
The location card of an ops room
08 Every region, base and ops room has a location card: where it is, the IT contact and phone, the supporting unit and notes, with a slot for a map or photo (empty here, so the app shows its placeholder).
The main settings
09 Main settings: the data folder, the time between checks, the alarm sound, the network filter and the licence's expiry date (here a demo licence). The footer reads "developed by Idan Achrak".
With the network filter on, the chart counts one network only
10 With the network filter on, the tree and the charts count one network only, here the unclassified one.
The My Hamal edition
11 The second edition, My Hamal, for a single ops room: no tree, just drop-downs for the ops room and the cell, and the cell's live floor plan.
The screen shown without a licence
12 Without a licence the app opens on this screen: export this computer's request file, import the licence, or minimise.
The Licensing Tool
13 The Licensing Tool (v2.4.2) that issues those licences: days to license, the program type that sets the edition, the computer's request file, and Generate (demo values).
The app's device icons in three states
14 An art board of the app's own device icons in their three states: online (green), offline (red; it blinks between red and blue) and not monitored (blue).
The full-screen NETWORK ERROR state
15 When the station itself loses its network, the app shows a full-screen NETWORK ERROR instead of reporting every device as down.
The credits panel of version 2.4.2
16 The credits panel of version 2.4.2, shown over the app's background: icon and tree-design attributions, and "developed by Idan Achrak".
The branded loading screen
17 The start-up screen, shown while the app scales its art to the monitor.
The first version: one ops room's floor plan with ten devices placed where they stand
18 The first version (October 2023) served a single ops room: one floor plan with its devices and a room selector at the top right. Within three months it became the multi-site app above.

05 / Impact

14ops rooms mapped
Over 400devices monitored
4stations installed
8releases in 14 weeks

The app was installed on 4 monitoring stations and mapped 14 ops rooms across 5 bases, with more than 400 devices under watch. It was used by 8 IT and ops-room staff, and I issued 4 licences, one for each monitoring station.

With the app, a failed device shows up the moment it stops responding: staff find it on the plan, with its details at hand, instead of searching a spreadsheet.

06 / Role and tech

I designed and built the whole product on my own: the screens, the data structure, the monitoring engine, the installer, the editions and the licensing. I shipped every release myself and issued licences with a tool I wrote for it.

It followed my earlier switch-monitoring tool, Project P.I.N.G.E.R., and took the same idea into the ops room.

Tech

  • Python
  • pygame
  • pygame_gui
  • pandas
  • Excel
  • matplotlib
  • Pillow
  • threading
  • CustomTkinter
  • PyInstaller
  • Windows networking

How it's built

A full-screen Windows app in Python, built on my own reusable pygame widget code. Each cell's devices are kept in a plain Excel file next to its floor-plan image, inside a folder tree of regions, bases and ops rooms, with a backup on every save. Background threads ping the devices, play alarms and queue pop-ups, and the screen scales from a 4K design to any monitor. Charts are drawn with matplotlib, and PyInstaller packs everything into a portable app and an installer.

Delivered in 25 days in wartime for a single ops room, it grew in about three months into a monitoring app for many sites.

Chapters