A client-side web application for amateur radio net control operators. Manage check-ins, log communications, and generate ICS 309 forms.
- Session Management - Create net sessions with name, frequency, and net control operator info
- Automatic Check-in - Net control is automatically checked in as participant #1
- Callsign Lookup - Automatic name/QTH lookup via HamDB API with local caching
- Tactical Callsigns - Support for tactical calls alongside FCC callsigns
- Communication Log - Timestamped entries with From/To/Message per ICS 309 spec
- Real-time Timer - Track net duration from when the net opens
- ICS 309 Preview - Live preview of the ICS 309 form as you work
- Export - PDF and CSV export options
- Persistent Storage - Browser local storage for sessions, participants, and logs
All platforms:
- Node.js v18+
npm install
npm run buildThe static site will be in dist/.
npm run dev- Create Session - Enter net name, frequency, and net control operator info
- Open Net - Click "Open Net" to start the timer and begin operations
- Check In Stations - Enter callsigns (F2 to quick-focus). Name and location are auto-populated from HamDB
- Log Communications - Click a participant to pre-fill the From field, or enter manually. Use "NC" for net control or "ALL" for all stations
- Preview/Export - View the ICS 309 preview and export to PDF or CSV
- Close Net - Click "Close Net" when finished
| Component | Technology |
|---|---|
| Frontend | React, TypeScript, Tailwind CSS |
| Backend | None (browser-only) |
| State | Zustand |
| Database | Browser local storage |
| pdf-lib |
MIT