Logging
The log captures what the daemon already knows, so recording a contact is typing a callsign.
Logging a contact
A quick-log bar sits in the Operate and CW workspaces, so logging never means switching tabs: type the callsign, press enter, done. Frequency, band, mode and UTC time are taken from the radio at that moment, which is why it pays to log while you are still on the frequency. The full entry row with a name field lives in Log.
Reports default by mode: 599 for CW and RTTY, 59 for voice. A real report typed over them wins.
In the CW workspace, callsigns in the decoded text are tappable: one tap drops the call into the log bar. If a call is already in the log, the bar says so as you type it, including whether this band would be a new one.
The list
Contacts sit under the entry row with UTC time, call, frequency, mode and reports, fifty to a page, most recent first, with a search box that filters by callsign, name or QTH as you type and band and mode menus beside it. edit on any row opens the contact for correction, every field including the frequency, mode and time, which are exactly the ones most likely to be wrong when a contact was logged after the band change. Delete asks first; there is still no undo.
What the log tells the bands
Every FT8 and FT4 decode is checked against the log. Stations you have worked are dimmed, so a screen full of CQs reads as "who is new". A station that would be a first, a country never worked, a US state never worked, or either on a band where you have not worked it yet, gets a NEW DX, NEW STATE or "new on 20m" tag beside its state or country. The last one means you have worked that place before, just never on this band: a fresh band slot toward the per-band awards.
The callbook knows who you are working
With your QRZ account entered under Logbook services in Settings, typing a callsign in the quick-log bar shows the operator's name, state and grid while they are still on frequency, and the name lands in the log with the contact. A QRZ XML subscription unlocks the full records; without one the lookups are thinner but still confirm the call.
Confirmations, without the ritual
Enter your Logbook of The World username and password in the same section and ShackNerd pulls your confirmations down once a day, marking each confirmed contact with a check in the LoTW column. Sync LoTW in the Log workspace does it on demand. Uploading goes the other way through TQSL, the ARRL's signing program, installed on the shack machine with your callsign certificate. Enter the station location name exactly as TQSL shows it under Logbook services and every new contact is signed and uploaded by itself within a minute of being logged; the arrow in the QSL column marks the ones that have gone. Upload to LoTW sends anything waiting right now. Imported contacts are not re-uploaded; LoTW already has them.
Every contact, everywhere
With a QRZ Logbook API key (a separate credential from the login above: Logbook page, settings gear, Logbook API) or an eQSL account entered, every new contact is pushed to those services by itself within a minute of being logged. The QSL column in the log shows each service's verdict per contact: dim while waiting, bright when delivered, red with the reason on hover when a push failed. Imported contacts are deliberately not pushed; the services already have them.
Your whole history, in one place
Pull history from LoTW and QRZ in the Log workspace fetches every contact those services hold, deduplicates them against each other and against this log, and merges: contacts new to ShackNerd are added with the marks the services earned, contacts already here are enriched from QRZ's richer records (a missing name or report, blanks only, never overwritten) and lit as confirmed where LoTW says so. Anything one service has and the other lacks flows out through the ordinary pushes. The same reconcile runs nightly afterwards, so the three logs never drift, and the Backup file in Settings becomes a complete archive of every contact you have ever made.
The scoreboard
Statistics, beside the log, keeps score: contacts, LoTW confirmations, DX countries, grid squares, best distance, and the Worked All States card, where filled means worked and bright means LoTW-confirmed. The band buttons above the card switch it to a single band, which is the per-band WAS chase in one glance, and the band table counts DX countries per band, the Challenge-style ladder. Below it, the DXCC list names every country worked, confirmed ones bright. The empty cells are what the NEW STATE and new DX tags on the digital screen are pointing at.
Bringing a log in
Import ADIF in the Log workspace merges an existing log file in. Duplicates, the same call, band and mode within the same half hour, are skipped, so importing the same file twice is harmless and so is importing a file that overlaps what ShackNerd already logged. Confirmations and states travel with the file: twenty years of confirmed contacts arrive confirmed, not amnesiac. Imported contacts are normally marked as already uploaded so the QSL services are not spammed with duplicates; tick never uploaded for a paper log typed in, and they push like new contacts.
Backup
Settings has a Backup section: one JSON file holds the connection settings, the whole log, presets, macros and band memory. Restore merges rather than replaces, using the same duplicate rules as the ADIF import. The CW trainer's progress lives in each browser and is not included.
Getting your log out
Export ADIF downloads the whole log as a standard ADIF file, every field the log holds, which imports into Logbook of The World via TQSL, QRZ Logbook, and every logging program. Bands are derived from frequency and modes are mapped to ADIF's vocabulary, so LSB and USB export as SSB the way importers expect. Export Cabrillo beside it writes the contest rows as a submittable Cabrillo file.
ShackNerd deliberately does not try to be logging software. It captures the moment and hands it to whatever you already use.