Features
What this console can do
A complete tour of the features built into the ARCCC Net Control Console — for net controllers, the Net Manager, and curious operators. See also Tips & tricks and the About page.
Open a new net from the home screen with a primary and backup N/C, then log check-ins by group (Echolink, First-time, Portable/Mobile, Short-time, Regular, Late). Acknowledge stations, edit on the fly, and close the net when finished.
A guided, step-by-step preamble for the net controller. Designated editors and the Net Manager can update the script; everyone else sees it in read-only mode. The editor includes a Live Preview that renders placeholders ({CALL}, {CALL_PHONETIC}, {NAME}, {LOCATION}, {ANNOUNCEMENTS}) in real time using your N/C profile, plus a collapsible help section listing every available placeholder with a sample.
On the announcements step of the preamble, each numbered announcement has a checkbox so Net Control can tick items off as they're read. A live counter ('x/y') and a green '✓ All announcements read' badge show progress, and checks reset automatically the next net night.
The check-in panel suggests known operators as you type a call sign and shows when each was last seen on the air. Use arrow keys to pick a suggestion and the name and location auto-fill.
The Location field on the Add Check-in form suggests previously seen locations from the roster as you type. Use ↑/↓ + Enter (or click) to pick — keeps location strings consistent across nets and cuts down on typos.
Practice running a net without polluting the real history or statistics. Test nets are flagged, archived in their own Test History, and excluded from totals.
Swap the primary and backup operators mid-net with one click. Any registered net controller can initiate a handoff — useful during power or internet outages when the primary drops off. The handoff is announced in the net notes and recorded in the audit log with the actor's call sign.
Starting a live net requires typing 'START' in a confirmation dialog, which doubles as the not-Monday warning when applicable. If a live net is already open for today, the dialog steers you to a 'Resume Tonight's Net' button instead of letting you create a duplicate. Whenever any net — live or test — is already open, both the Start a New Live Net and Start Test Net buttons are disabled with an explanatory tooltip so two nets can't compete for the Live Net panel, listener feed, or N/C chat. Right after creation, a 10-second 'Undo' toast lets you fully delete the net (and any check-ins) with one click — four layers of protection against fat-finger and double-click mistakes.
A private real-time chat channel for registered Net Controllers, available app-wide and docked inside the Net Rail's Chat tab on the Active Net runner (with a floating window fallback on tablet and narrower viewports where the rail is collapsed). Type @CALL to ping a specific operator, or use the RELAY button to send a structured fill (call sign, name, location) to the active Primary N/C — the relay also posts visibly in chat so other backups won't repeat the same info. When a new inbound message arrives during a net, the rail auto-switches to the Chat tab and pulses to alert the N/C without covering any controls. While running the net, the Primary's chat only surfaces pinned notices, @mentions to their call, and relays directed at them; everyone else sees the full feed. The Net Manager and Co-Managers can pin notices for everyone.
While a net is open, registered net controllers can watch a realtime mirror of the running net — current step, primary/backup, and every check-in as it's logged — without touching the live console. The home screen also shows a live check-in stream with an Expand by group view, and a one-click 'Take Over as N/C' button switches the backup into the editable console if the primary drops off. Every net — live or test — is followable by default. The follower hook is self-healing: a 10s polling safety net, channel resubscribe on tab focus / laptop wake, and a visible amber 'Live updates paused' banner with a Refresh-now button whenever the realtime channel is reconnecting or stale.
Opening /net/$netId as a registered N/C who is NOT the scheduled primary or backup shows a full-screen amber warning gate before any operator controls render. The gate names the scheduled operators, explains that any change broadcasts immediately and could disrupt the active net, and offers two clear choices: 'View as Follower' (read-only) or 'Assume Net Control' (unlocks the live console). Acknowledgement is per-net so a refresh during a legitimate handoff doesn't re-prompt. Closed nets bypass the guard.
Tonight's scheduled Primary and Backup N/Cs get in-app popups on Mondays at 19:15 (get ready), 19:20 and 19:23 (log into the K4KNS-R EchoLink node), and 19:25 (start the pre-net announcement). Each reminder includes an 'Open Preamble' shortcut, can fire a chime, flash the browser tab title, and trigger an OS taskbar/dock notification. All three effects can be independently toggled in Settings, and 'Test' buttons let you verify everything before net night.
A per-operator inbox panel on the home page (and full-page version at /inbox) that gathers everything needing your attention: pending schedule confirmations for your slot, incoming swap requests, @mentions and replies in N/C Chat, application status while pending approval, and direct or broadcast notes from managers. Items live in unread / read / done states; hover to mark read, act inline (Confirm / Accept swap / Open in chat), or 'Mark all read' to clear the badge. Self-healing realtime so the count stays accurate after reconnects.
Managers, Co-Managers, and Editors get a 'Send N/C note' composer on the My Inbox header. Pick a single recipient or broadcast to all registered N/Cs, with optional title, body, and link target. Recipients see it as a persistent inbox item — perfect for 'can you cover next Tuesday?' or drill reminders that shouldn't get lost in chat scroll.
An amber 'Switch Repeater' button in the Net Actions cluster lets the N/C document a mid-net move without reopening the net. The dialog defaults to '145.190 Repeater (secondary)' and also offers '146.985 Repeater (primary)', 'Simplex', or a custom value. Submitting writes a timestamped 'REPEATER SWITCH — From X · To Y · Reason: …' line to the top of net notes, updates the net's frequency field (so followers and the public Listener page reflect it automatically), and pings every registered N/C's inbox so backups know where the net went.
Clicking 'Start New Net' opens a pre-flight dialog that runs four checks in parallel before creating the net: bundled app version vs server (warn + Reload if stale), auth session present, database reachable via an RLS-respecting read, and a throwaway realtime channel reaches SUBSCRIBED within 5s. Blocking failures disable Start; warnings let you proceed with the issue clearly flagged. Includes a Re-check button.
Every signed-in tab quietly polls a /api/public/version endpoint every 5 minutes (and on tab focus / laptop wake). When a newer build is published, a sticky toast offers a Reload button so N/Cs who leave the console open across deploys can refresh before a stale bundle bites them mid-net. Duplicate toasts for the same server version are suppressed.
Every logged check-in shows a pencil icon next to its trash icon. Click it to fix a mistyped call sign, name, location, station type, time type, or notes without deleting the entry. Works in both the Guided Runner and the freeform tabbed view; available to anyone running the net (Primary or Backup). Edits save immediately and are recorded in the audit log.
A pinned column on the right side of the Guided runner gives the Primary at-a-glance situational awareness without scrolling. Two tabs: Glance (total check-ins, elapsed time, average gap, repeats, station-mix bar, per-group breakdown) and Chat (the embedded N/C Chat — auto-switches and pulses on new inbound messages). The rail sticks to the top of the viewport as the page scrolls so it's always visible to the N/C, with its own internal scroll if its content is taller than the screen. Pins to the right on screens ≥1280px and slides over from the right via a 'Rail' button on smaller screens.
The Net Details panel at the top of the Active Net runner uses a two-column layout: compact metadata (Primary/Backup call & name, Begin/End/Frequency) on the left, and a Net Actions cluster on the right with Emergency Traffic, Routine Traffic, Announcement Note, Hand Off to Backup, Export, Close Net (or Reopen), and Delete. The previous full-width top action bar is gone — the only thing remaining there are the view-mode tabs (Guided / Free-form / Review All) — so the runner controls are easier to scan and there's nothing covering check-in entry below.
Three structured-dialog buttons let the N/C log traffic and notes straight to the net log without leaving the runner. Emergency Traffic and Routine Traffic each open a dialog with three fields — From, Route to, and Message (resizable for long messages). The Announcement Note dialog (for questions, concerns, fills, or suggested additions for the Net Manager) has From and a resizable Message. Each entry is timestamped and prepended to the net notes. The buttons live in the Net Actions cluster of the Net Details panel, and contextual copies also appear directly inside the EchoLink & Repeater Notes step (Emergency / Routine) and the Announcements step (Announcement Note) of the Guided runner.
Listeners on the public /listen page can submit a check-in request directly from the app when they can't reach the repeater or EchoLink. Net Control sees a quiet count pill in earlier preamble steps and a full review tray during Group 6 (Late) and Close, with Acknowledge / Approve & Log / Reject actions and a chime on arrival. Approved requests write to a new 'App Relay' group with station type 'App'; the listener sees Pending → Acknowledged → Approved (or Declined) in realtime.
A grouped sidebar (Tonight, Schedule, Coordination, People, Records, Admin) replaces the old top nav row so frequently used screens are always one click away. Collapse it to a 3rem icon strip with the panel toggle in the top bar or ⌘B / Ctrl+B; full labels show as tooltips on hover. Auto-collapses once per session when you open the Active Net runner during a live net. The Active Net entry shows a green pulsing LIVE pill while a net is open. Registered N/Cs see their call sign and avatar in the footer; unregistered visitors see a 'Set up profile' shortcut.
A global search-and-jump palette available on every screen. Press ⌘K (Mac) or Ctrl+K (Windows/Linux), or click the 'Search…' button in the top bar, then fuzzy-match any page (Active Net, Schedule, Audit Log, Quick Checklist, …), trigger quick actions (open the live runner, jump to your next shift, open the Quick Checklist), or search the operator roster by call sign or name and jump straight to a profile.
A status bar directly under the top header. When a net is live it shows a pulsing LIVE indicator with elapsed time, frequency, Primary/Backup N/Cs, and a one-click Open Runner button. When idle it shows the next scheduled date with the assigned operators (and a 'You · Primary/Backup' chip when it's your shift).
Plan who is calling the net on upcoming dates. The home screen pre-selects the scheduled primary and backup operators automatically.
Registered controllers see their next 3 scheduled Primary/Backup shifts right under the Welcome banner — a one-line reminder of what's on your calendar, with a quick link to the full schedule.
A public page at /public/schedule shows every upcoming N/C assignment (date, primary, backup, notes, one-time overrides) with no login required, so it can be linked from the Groups.io weekly reminder, club bulletins, or anywhere else without exposing the rest of the console. The page leads with a 'Next Net' highlight banner ('Tonight' / 'Tomorrow' / weekday label, primary, backup, note), has a Download PDF button, an 'Add to my calendar' option that emits an .ics file (filterable by call sign) with a built-in 30-minute pre-net reminder, and an optional 'Show projected future rotation' toggle that previews the same auto-rotation generator the editor sees, read-only and clearly labeled 'tentative' (4 / 8 / 12 / 16 / 26 / 52 weeks). A blue reminder panel below nudges N/Cs to sign in and confirm availability so the published rotation stays accurate. The page is set to noindex.
Editors generating the upcoming N/C rotation can tweak individual rows in the Preview before saving — Primary and Backup dropdowns plus a Skip checkbox per week (e.g. swap a substitute in for one date, or skip a holiday/no-net week). Edited weeks are persisted as one-off overrides so the alphabetical rotation anchor for future generations stays clean, and a per-row 'reset' link reverts to the auto-rotation default. The Generate toast reports how many weeks were written, skipped because they already exist, and skipped manually.
Each operator registers a personal profile (call sign, name, location) so they appear in the N/C dropdowns and so preamble placeholders auto-fill. Required fields are validated inline and Save is disabled until the profile is complete — handy when signing in from a new computer or browser. Registered controllers also see a reminder banner on the home screen if anything is missing.
The home page greets you under the title — 'Welcome {CALL}' if your profile call sign matches a registered net controller, otherwise 'Welcome Guest'. A quick visual check that the right operator is signed in on this device.
Every closed net is archived. Export an individual net log as a formatted .xlsx that matches the club's standard layout.
Net History opens to the last 90 days by default and offers one-click filter chips across the top — Last 90 days, Last 30 days, My nets (when an N/C profile is set), Open only, Backfilled, Live-logged, and All time. A 'Refine' popover gives precise control over date range, status (open / closed), type (live-logged / backfilled), and an N/C call-sign filter that matches either Primary or Backup. The result count ('X of Y nets') shows next to the page title, and your filter selection persists per device.
Any registered N/C can correct a closed net's check-in log without reopening it. An 'Amend' button on Net History rows and on the closed-net detail page deep-links to the Backfill screen with the net pre-selected. Edits, deletions, and newly added check-ins flow through to roster statistics and the Op Roster automatically — the net stays closed. Every change is recorded in the audit log.
Maintain a running list of club announcements. The Net Manager and editors can edit, reorder, and validate that the list is still current. Each announcement can have an optional auto-remove date so time-sensitive items drop off the home screen automatically, plus an optional 'Remind me to update' date for recurring items (like the monthly meeting): once the reminder date passes, the editor card shows an amber 'Needs update' badge and the Manager Inbox surfaces an 'Update Reminder' row linking straight to the editor. The home screen shows the freshness date and credits the call sign of the operator who last validated the list.
A Quick Link on the home screen — and a 'Contact Net Manager' button on the public schedule page — opens an in-app dialog (no mailto required) that captures the sender's name, optional call sign, optional reply contact, and message. Submissions land in the shared Manager Inbox so the Net Manager AND every Co-Manager / Editor sees them in realtime — no more relying on a single personal mailbox.
Cycle the header theme button between System, Light, Dark, and a red-on-black Night mode that preserves dark-adapted vision in the shack.
A help (?) menu in the header opens the latest PDF guides — N/C Onboarding Guide, Net Scheduler Guide, Primary ↔ Backup Handoff Walkthrough, and N/C Chat Guide — in a new tab. Managers, Co-Managers, and Editors also see a Manager / Co-Manager / Editor Guide with privileged-role reference and a scenarios appendix. The header also has dedicated Sparkles (Features) and Lightbulb (Tips) shortcut icons.
A printable one-page checklist summarizing the onboarding flow, with direct links to the Preamble, Logging, Announcements, and N/C Schedule guides — handy for new operators or as a desk reference.
Each of these pages has an Export PDF button that produces a polished, printable document for offline reference or hand-off. The preamble export shows the full script with placeholders intact (announcements appear as a placeholder, not a snapshot).
A dedicated /listen page anyone can open to follow the live net in realtime — On Air / Off Air status, tonight's N/C, preamble progress with the 'Now Reading' script in one swapping box, check-ins grouped with locations, and announcements. When idle, it shows the next scheduled net so visitors always see something useful. Includes a Live / Paused toggle to save bandwidth on metered connections, a manual refresh, an 'Updated Xs ago' indicator, a help popover, and tooltips on every control.
A public board where any operator can submit a bug report or feature request and see what others have filed. Editors with the club passphrase can update status (Open, In progress, Resolved, etc.), post visible responses crediting the responder, and clean up old entries. Every change is recorded in the audit log.
Both individual nets and year-end statistics download as polished .xlsx files ready for sharing or archiving.
If a widespread outage prevents access to the app, log the net on paper and transcribe it later. Create a past-dated net or add check-ins to an existing one, paste rows in bulk, and edit them in a spreadsheet-style grid. Backfilled nets and entries are flagged and recorded in the audit log. Closed nets can also be amended (rare — for missed check-ins or typos) via an 'Amend' button on Net History or the closed-net page; amendments don't reopen the net but do flow through to stats and the Op Roster.
Read-only directory of every operator who has checked into the net. Editing is done from Settings.
See nets led by each N/C, top operators by check-ins, monthly trends, and per-net duration. Export any year as a 4-sheet workbook, and an automatic snapshot is generated every January 1.
Manage the registered net controller roster from the Net Controllers page. The Net Manager and Co-Managers can add, remove, and update controllers, grant or revoke editor privileges (preamble & announcements), and toggle the Occasional flag directly from each operator's row.
The Net Manager and Co-Managers can designate trusted operators as Editors. Editors can update the preamble script and the announcements list — privileges are scoped to those two areas.
The Net Manager can designate up to 2 Co-Managers with full parity (manage roster, grant editor privileges, edit preamble & announcements) — with the sole exception of direct role transfer. A 'Manager Succession' card on the Net Controllers page lets the Manager transfer the role to another controller (typed 'TRANSFER' confirmation, optional auto-demote to Co-Manager). If the Manager becomes unreachable, a Co-Manager can initiate an emergency transfer that requires the other Co-Manager to second within 24 hours; a site-wide amber banner shows the pending request and recent transfers.
The Net Manager and Co-Managers can mark any operator on the Net Controllers roster as 'Occasional'. Occasional operators are skipped by the Generate Rotation tool but remain selectable as manual substitutes in the Primary/Backup pickers (where they show a '· Occasional' tag), making it easy to keep someone on the roster without putting them in the regular rotation.
When someone sets up a profile with a brand-new call sign, they're added to a pending-approval queue instead of getting Net Control access immediately. A yellow 'Pending approval' banner is shown across the top of every page, and the app stays in read-only mode until a Net Manager or Co-Manager approves them. Managers see a live count badge on the Net Controllers sidebar item, a 'Pending N/C Approvals' card on the Home page with one-click Review, and a one-time toast on app load whenever requests are waiting. Pending requests appear in a dedicated panel on the Controllers page with Approve / Reject buttons.
When a new applicant saves their Profile for the first time, a dialog presents the full list of N/C operator expectations (schedule reliability, pre-net signal check, testing both repeaters, preamble review, console familiarity, reliable equipment, no Echolink for N/C operation, covering the Echolink segment, real-time coordination via N/C Chat / Telegram). The applicant must check an affirmation box with their call sign before the application is submitted. The same list is published as a public guide at /guides/expectations so existing operators and prospective applicants can review it any time.
Every privileged write is recorded. Open the Audit Log from the Admin group in the sidebar, or via the shortcut card on the Settings page, to review changes by actor, action, and timestamp. Category filter chips and per-call-sign Actor filter chips above the table — plus clickable When/Actor column headers for sort — make it easy to narrow the log to one area, one operator, or any combination.
Net Manager Email, Add Operator, and Operator Roster are grouped into a single collapsible Administrators card. Managers, Co-Managers, and Editors see it expanded with a Shield icon; everyone else sees it collapsed with a Lock icon and a note that the section is restricted to authorized operators — discoverable but clearly gated. Each public link (Announcements, Preamble) also shows the latest 'As of' timestamp so editors can confirm the public-facing copy is current before sharing the URL. The public Announcements and Preamble pages render bare — no app header, sidebar, or footer — so they can be embedded or shared with non-N/C audiences.
Auto-activates on viewports under 640px (or force on/off from Settings → Display). The sidebar collapses into a slide-over drawer, a bottom tab bar surfaces Home / Active Net / Schedule / Chat / More, the Active Net runner uses a streamlined single-task layout (PhoneNetRunner), N/C Chat goes full-bleed with a sticky composer, the floating chat panel docks to the bottom, and dense tables (Net History, Op Roster, Schedule) re-flow into stacked cards. Designed for running or following a net from a phone in the field.
Auto-activates on tablet-sized viewports (or override from Settings → Display). Buttons, inputs, table cells, and menu items grow to a comfortable 44px+ minimum touch target, the sidebar defaults to closed so the working area gets full width, and any sticky tablet action bar reserves bottom padding so content never hides under it.
ARCCC · 146.985 MHz Repeater · Mondays 19:30
Designed & built by N4MI · Dan · Powered by Lovable