PROJECT JOURNEY
How it all started
From a storm anxiety problem to an autonomous worldwide safety system — the origin and rapid development of SafetyIQ.
Author
Nuno Lopes CT2IRY
Location
Lisbon, Portugal
Date
May 2026
Status
Active development · v0.7.5
The problem
Every ham radio operator with a serious antenna installation knows the feeling. You leave home for a few days. The forecast looked fine when you left. Then a friend messages you a photo of the weather radar, and there is a deep Atlantic low developing fast, heading straight for Lisbon.
Your towers are up at full height. Your antennas are deployed. You are three hours away by car and the wind is already picking up.
That is the problem SafetyIQ was built to solve.
I have been operating from Lisbon since 2003 under the callsign CT2IRY. Over the years the station has grown — bigger towers, more antennas, more investment in equipment. And with that investment came a specific anxiety that no commercial software addressed: what happens to the station when I am not there?
Weather monitoring apps exist. Smart home automation exists. Weather stations exist. But nothing existed that specifically understood the relationship between measured wind speed, antenna tower structural limits, operator absence, and automatic safety action — all integrated into a single system built for amateur radio stations.
So I built it.
Why not use what exists
The obvious candidates — home automation platforms like Home Assistant, generic weather alert services, commercial monitoring tools — all failed on at least one of the requirements that mattered most.
They don’t understand antenna towers. They don’t know what a structural wind load limit is, or that a guyed tower and a telescopic tower respond completely differently to the same gust. They don’t understand that the relevant wind speed is not the one at the nearest city weather station — it’s the one at the mast, which may be exposed to a completely different microclimate depending on local terrain and coastal proximity.
More fundamentally, they don’t integrate with the station. They can’t detect whether the operator is actively on air via Thetis TCI. They can’t lower a tower or route an antenna to a dummy load. They send notifications — and then wait for a human.
SafetyIQ was designed from the start to be the thing that acts when the human cannot.
The first decision — worldwide from day one
The earliest architectural decision, made before a single line of code was written, was that SafetyIQ would be worldwide by design. Not a Portugal tool. Not a CT2IRY tool. A system that a ham radio operator in Japan, Brazil, California, or South Africa could deploy with a single lat/lon coordinate and have working the same day.
This forced every data source, every API integration, every design decision to answer one question first: does this work anywhere on Earth?
It ruled out many simpler approaches. IPMA, the Portuguese national weather service, is excellent — but it covers only Portugal. METAR from Cascais airport is highly relevant to CT2IRY — but a worldwide system cannot depend on a single aerodrome. The result was a tiered data architecture: Tier 1 global sources that work everywhere with no API key, Tier 2 regional services that activate automatically based on coordinates, and Tier 3 optional keys that unlock additional depth.
By the time the first version was running, SafetyIQ was pulling data simultaneously from METAR, Open-Meteo, NOAA ISD, Blitzortung lightning, NHC tropical cyclones, JTWC, and regional agencies in over 26 countries. Not because CT2IRY needs all of that — but because a ham in the Philippines or Norway does.
Development — Claude Code and the pace of it
SafetyIQ was built almost entirely using Claude Code, Anthropic’s AI-powered command-line coding tool, working against a structured directive document — the MASTER — that recorded every architectural decision, every rule, every completed milestone, and every open TODO.
The pace was unlike anything I had experienced before. The core system — weather data pipeline, AI threat assessment, structural wind load engine, dashboard — went from nothing to a working prototype in a matter of days. Not weeks. Days. The MASTER document served as the memory across sessions, ensuring that no architectural decision was lost and no rule was silently violated.
The development model that produced SafetyIQ:
- The author defined goals, captured architectural decisions, validated correctness, and made every domain judgement — when to lower a tower, what structural model to use, how to handle operator presence detection
- Claude Code implemented code, refactored, debugged, and proposed solutions — based on precise specifications in the MASTER directive
- Claude claude-sonnet-4-6 served as the AI assessment engine inside the running system — reading all weather data simultaneously and generating the operator narrative
- The MASTER was the single source of truth — updated and committed with every version, readable by any future development session
This is the same model I used for DXLab – Thetis Bridge. The difference with SafetyIQ was scale. Bridge was a targeted integration between two specific software systems. SafetyIQ is a worldwide platform with 40+ data sources, an AI engine, a structural engineering module, a presence detection system, alert delivery, remote control, a Progressive Web App, and a community pattern registry. Building it without AI assistance in any reasonable timeframe was simply not possible.
The structural engineering problem
One of the most demanding technical challenges in SafetyIQ had nothing to do with software — it was structural engineering.
To determine when a tower is in danger, SafetyIQ needs to know the tower’s wind load limit — the maximum sustained gust the structure can safely withstand at a given antenna configuration and height. This is not a number you look up in a table. It involves cross-section geometry, guy wire heights, drag coefficients, antenna face areas, and the tower section modulus at the failure point.
I implemented a Dynamic Structural Monitor module — validated against published ROHN engineering data for the ROHN 65G tower — that computes the structural limit from first principles for any tower and antenna configuration. The module was validated against five independent test cases, all passing within 0.001 tolerance.
The challenge is ongoing. The Angelucci TC50 and TC90 tower sections used at CT2IRY are Italian-made telescopic towers with no published English-language PE-stamped engineering data. Obtaining the structural parameters requires direct contact with the manufacturer and formal engineering review. Until that is complete, the CT2IRY towers do not exist in SafetyIQ code — by deliberate rule. The system uses only validated PE-stamped data.
What it became
By v0.7.5, SafetyIQ had grown well beyond the original anxiety-driven concept. It monitors weather from over 40 global sources. It detects operator presence through three independent layers — manual toggle, Thetis TCI radio activity detection, and phone presence on the home network. It delivers alerts via Email and Telegram with a one-tap secure remote link. It has a full-screen animated weather map dashboard, a Progressive Web App installable on any phone, pattern learning from historical events, and a community registry for sharing discovered weather APIs across the worldwide ham radio user base.
The core of it, though, remains exactly what it was at the beginning: a watchman that monitors continuously, warns intelligently, and acts when the operator cannot.
Acknowledgements
Anthropic — for Claude Code and Claude claude-sonnet-4-6, which served as the primary development partner and the AI engine running inside SafetyIQ itself.
ROHN Products — for published PE-stamped structural engineering data for the ROHN tower series, without which the structural DSM module could not have been validated.
The worldwide ham radio community — for decades of documented experience with antenna installations, tower engineering, and station safety that informed every design decision in SafetyIQ.