Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1,250 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ECTLogger

A Modern Radio Net Logger

License: MIT

Whether you're running a casual weekly club net or coordinating a multi-agency emergency response, ECTLogger adapts to your needs. Start simple and grow into advanced features as your operations demand.

For community nets, keep things fun and engaging. Add a Topic of the Week to spark conversation, run polls to gather opinions, and let participants chat in real-time alongside the check-in log. The clean, modern interface makes logging effortlessβ€”no more wrestling with clunky desktop apps or decade-old web interfaces.

For SKYWARN and weather nets, capture what matters. Enable spotter number and weather observation fields to collect critical data from trained spotters. View check-in locations on an interactive map supporting entry of town and state, GPS coordinates, Maidenhead grid squares, UTM, and MGRS formats in the check-in's Location field β€” perfect for situational awareness during severe weather events.

For ARES and emergency communications, ECTLogger handles the complexity. Multiple NCS operators can work different frequencies simultaneously, with check-ins intelligently separated by band but logged together in one unified view. When the incident wraps up, generate ICS-309 Communications Logs with a single click for your after-action reports.

The responsive interface works beautifully on any device β€” from a phone in the field to a multi-monitor EOC workstation. Pop out the check-in list, chat, or activity log into detachable panels within the browser, or send any of them to their own separate browser window and dedicate a full screen to each for a true multi-monitor NCS setup. On an ultrawide monitor, the script, announcements, and check-in map can dock right into the page layout instead, with resizable panels and columns that remember the size you set. Dark mode keeps things easy on the eyes during those long operational periods.

🌐 Try it now at app.ectlogger.us β€” No installation required!

Check-in Log

Multi-frequency/band check-ins, shown in dark and light mode! β€” πŸ“· More screenshots


✨ Features

Core Capabilities

  • πŸ” Secure Authentication β€” Frictionless sign-in with magic link email authentication + OAuth (Google, Microsoft, GitHub)
  • ⚑ Real-Time Updates β€” WebSocket-powered live check-ins, status updates, and chat messages
  • πŸ‘₯ Role-Based Access β€” Admin, NCS, Logger, User, and Guest roles
  • πŸ“§ Email Notifications β€” Automatic net reminders, start notifications, and invitations
  • πŸ“± Mobile Responsive β€” Works seamlessly on phones, tablets, and desktops, with labeled controls and generous touch targets sized for gloved or one-handed field use
  • 🎨 Color Themes & Branding β€” Pick a personal color theme (or follow the admin-set system default), each with a coordinated light/dark pair that works with the existing dark mode toggle; admins can fully customize a self-hosted instance with a custom color theme and logo
  • πŸ“» Multi-Frequency Support β€” Track stations across multiple frequencies and modes
  • πŸ‘₯ Multi-NCS Support - Multiple NCS operators can check in and track stations across multiple frequencies and modes simultaneously
  • ⏸️ Paused-Net Indicator β€” If the NCS steps away with no co-NCS covering, the net shows a blue border and banner so everyone knows no one is actively running it, and the recorded duration excludes that time

Net Management

  • πŸ“… Scheduling β€” Schedule recurring nets with automatic NCS rotation
  • πŸšͺ Automatic Lobby β€” Optionally open a scheduled net's lobby a set number of minutes early so stations can check in before Net Control arrives
  • πŸ“œ Net Scripts β€” Create formatted scripts for NCS operators to follow during nets
  • πŸ—’οΈ Net Notes β€” Jot down something specific to one net (e.g. a repeater running weak) separately from your schedule's standing announcements
  • ✏️ Inline Editing β€” NCS/Loggers can click any check-in row to edit fields directly
  • πŸ¦” Speed Entry - Hit the ⏩ button to enter a string of check-ins in fast-moving nets
  • πŸ”„ Recheck Tracking β€” Track stations as they check in and out, on different frequencies if needed
  • 🚫 Self Check-In Toggle β€” Disable self check-in per schedule or net so only NCS/logging staff add check-ins, for nets where voice roll call and app check-in together cause confusion
  • πŸ“Š Custom Fields β€” Admins can create custom fields for specific net requirements
  • πŸ“Š Poll Questions β€” Add poll questions to nets with real-time results chart
  • πŸ’¬ Topic of the Week β€” Prompt participants to share on a topic during check-in and track their answers
  • πŸ” Filter & Sort β€” Search and sort nets, schedules, frequencies, users, and fields
  • πŸ“‹ Card/List Views β€” Toggle between card and list views on Dashboard and Scheduler
  • πŸ“ Complete Net Logs β€” Automatic log generation and email delivery

Location & Mapping

  • πŸ—ΊοΈ Station Mapping β€” View check-in locations on OpenStreetMap
  • 🌐 Multiple Formats β€” Town & state, GPS, Maidenhead, UTM, MGRS coordinate support in Location check-in field
  • πŸ“ Location Awareness β€” Auto-fill Maidenhead grid square from browser location, if enabled by the end user
  • πŸ“‘ Station-to-Station Coverage Logging β€” Optional per-net feature letting NCS, Logger, and Relay record which stations can hear each other, producing a sortable coverage report and a map overlay of confirmed one-way and two-way paths β€” the coverage-assessment picture ARES and SKYWARN drills need. Includes a personal "stations you can hear from home" map on your Profile, and an optional per-station coverage map in the net's PDF report.

Multi-Frequency Net Support

ECT and SKYWARN nets often move between frequencies to meet participants where they are. ECTLogger tracks:

  • Multiple frequencies per net - Nets can support multiple active channels, frequencies, and modes
  • Active frequency indication - Users can see which frequency each NCS is active on so that they may follow
  • Per-station frequency tracking - Each station can check or re-check into more than one operating frequency
  • Real-time frequency change notifications - Freqency changes are updated to all users in real-time

Assisted Traffic Handling

  • πŸ“¨ Radiogram & ICS-213 filing β€” Fill out an ARRL radiogram or ICS-213 form with live NTS text normalization, word-count checking, and an ARL numbered-message picker, all from the net's Traffic panel or the standalone Traffic section
  • 🌦️ RRI weather/RI strips β€” File Radio Relay International's WXOBS weather observation strip, the GYX-CAR SKYWARN regional variant, or paste any other RRI strip as a general entry; define your own custom strip type once and it's available to everyone from then on, the same as the built-in types
  • πŸ“‹ Paste or drop to import β€” Paste the plaintext of a message copied off the air, or drag a text file onto the box, and the parser pre-fills a new form for you to review and confirm; anything it doesn't recognize is still saved as a general RRI strip rather than lost
  • βœ‰οΈ File and track traffic from inside a net β€” A Traffic button in the net toolbar opens a panel showing that net's traffic, with its own file/export actions and the same detach, pop-out, and minimize controls as every other net panel; net settings can say which form types a net accepts and pin the WX/RRI strip type (or origin strip) its stations should answer
  • πŸ“€ Export a whole net's traffic β€” One button in the Traffic panel covers everything filed on that net: plain text (one line per report, ready for a spreadsheet or Winlink template) or a printable PDF with every message laid out like its real paper form
  • πŸ“¬ Traffic inbox & chain of custody β€” Every hop (originated, received, relayed, delivered, serviced, cancelled) is logged against the message, so a net's NCS/logger can see the delivery status of everything logged during their net
  • πŸ–¨οΈ Form-accurate PDF export β€” Printable PDFs replicate the real ARRL Radiogram pad and FEMA ICS-213/ICS-309 forms, boxes and rules included, ready to file or hand to the addressee
  • πŸ”’ Privacy by design β€” Traffic is visible only to the submitter, current holder, anyone in its chain of custody, that net's NCS/logger, and admins; message bodies never appear on ICS-309 exports, only metadata (message number, precedence, addressee, handling station)

Analytics & Reporting

  • πŸ“§ Emailed net closure reports - Net participants can receive chat logs, check-in logs, topic answers, poll results, and a traffic-handled summary
  • πŸ“₯ CSV check-in import - Closed/archived nets can import CSV logs from paper or external software, with row-level validation and clear errors
  • πŸ“ƒ ICS-309 Communications Log - For ARES and ECT nets, ICS-309 documents can be downloaded and emailed from closed nets, including traffic-handling metadata rows when the net has that feature enabled
  • πŸ“ˆ Statistics & Analytics β€” Track participation trends, operator activity, net performance, and traffic handled (broken out by originated/relayed/delivered/etc.) with interactive charts
  • πŸ† Schedule Statistics & Leaderboards β€” Per-schedule reporting with time-window filters (30d / 90d / 1y / all-time) and leaderboards for Check-ins, NCS, Logger, and Relay roles, plus a net history log with NCS callsigns
  • πŸ“„ Net Report (PDF) β€” Generate comprehensive multi-page PDF reports for closed nets including statistics, check-in logs, chat, and ICS-309 sections
  • πŸ“„ Schedule Report (PDF) β€” Export a schedule's stats, all four leaderboards, and net history as a single printable PDF

πŸ‘₯ User Roles

ECTLogger has two types of roles: global roles (system-wide) and net roles (per-net assignments).

Global Roles

ECTLogger provides the following types of users:

Role Description
πŸ›‘οΈAdmin Full system access, user management, view all nets, configure custom fields
πŸ‘€User Create nets, check into nets, receive notifications
πŸ‘οΈGuest View-only access to public nets (no account required)

Net Roles

When a user creates a net, they automatically become its NCS (Net Control Station). The net creator can assign these roles to other users:

Role Description
πŸ‘‘NCS Full control: start/close net, manage check-ins, assign roles
🀴Secondary NCS Additional NCS operators for multi-frequency nets
πŸ“‹Logger Log check-ins and manage station status
πŸ“‘Relay Check in stations on behalf of others

Any registered user can run their own nets!

Station Status Tracking

Visual indicators for station status:

  • βœ… Checked In
  • πŸ‘‚ Just Listening
  • πŸ“» Available
  • ⏸️ Away
  • πŸ‘‹ Checked Out
  • πŸ”„ Recheck (returning stations)

A legend at the base of the check-in list identifies each status icon.


πŸ“‹ Net Workflow

1. Create Net

Define your net with name, description, frequencies, and required fields. Assign roles and save as draft.

2. Schedule (Optional)

Set date/time, configure recurring schedule, and set up NCS rotation with automatic reminders.

3. Start Net

NCS starts manually or net auto-starts if scheduled. Email notifications sent to subscribers.

4. Log Check-ins

NCS or logger enters check-ins with real-time updates to all connected clients.

5. Close Net

Complete log generated automatically and emailed to NCS. Net archived for reports.


πŸ“š Documentation

Getting Started

Document Description
User Guide How to use ECTLogger as a participant or NCS

Self-Hosting

ECTLogger can be self-hosted on your own server. See the self-hosting documentation:

Document Description
Self-Hosting Guide Overview of self-hosting options and requirements
Quick Start Get up and running in 5 minutes
Manual Installation Step-by-step installation for advanced users
Production Deployment Deploy with SSL/HTTPS and reverse proxy

Configuration

Document Description
Magic Link Configuration Configure magic link expiration
Email Deliverability Email setup and troubleshooting
Logging Configure log levels and debug output

Security

Document Description
Security Security features and best practices
Fail2Ban Automatic IP banning setup

Development

Document Description
Development Guide Architecture, API, and contributing

πŸ“„ License

This project is licensed under the MIT License β€” see the LICENSE file for details.

You can: βœ… Use commercially Β· βœ… Modify Β· βœ… Distribute Β· βœ… Use privately

With the requirement to include copyright notice and attribution.


πŸ™ Acknowledgments

Built for the amateur radio and emergency communications community.

Special thanks to all NCS operators, loggers, and participants who make emergency communication nets possible.


πŸ“ž Support

  • Issues: GitHub Issues
  • Documentation: See links above
  • Questions: Open a discussion on GitHub

73 and stay safe! πŸ“»

About

A modern low-friction radio net logger purpose-built for emergency communications teams and SKYWARN spotter nets where multiple frequencis and modes may be in use.

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages