Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

346 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QSO Predictor

Version License: GPL v3 Platform Microsoft Store

Real-time tactical assistant for FT8/FT4 — see the band from the DX station's perspective.

QSO Predictor Screenshot


QSO Predictor in Action

A real 40m FT8 QSO with V31DL (Belize, EK57) from Massachusetts (FN42), completed using QSO Predictor's recommendations.

Step 1 — Target identified, all intelligence layers aligned

QSOP detecting V31DL with all intelligence layers converging on CALL NOW

QSOP flagged V31DL with all four intelligence layers agreeing:

  • Path Intelligence: Target decoded your signal at -17 dB — you're in their receiver
  • PSK Reporter: Path confirmed via regional reporters
  • IONIS Propagation: 40m FN42→EK57 OPEN (3,280 km, SFI 105, Kp 2)
  • Behavior: Methodical operator, 90% confidence from 32 prior observations
  • Pileup: Low competition (1 competitor at target)

Recommendation: CALL NOW.

Step 2 — QSO confirmed

QSOP showing completed four-message FT8 exchange with V31DL ending in RR73

Clean four-message FT8 exchange with V31DL:

WU2C V31DL -15        ← V31DL replies with signal report
V31DL WU2C R+00       ← WU2C confirms with report back
WU2C V31DL RR73       ← V31DL seals the QSO
V31DL WU2C 73         ← WU2C final 73

Belize in the log. This is what "see the band from the DX station's perspective" looks like in practice — intelligence that tells you when to call, not just what you're hearing.


🆕 What's New in v2.8.0

Click-to-call — double-click a station, WSJT-X is ready

QSO Predictor tells you who to call; now one double-click acts on it. Double-click a callsign in the decode table or on the target dashboard and it's set up in WSJT-X over UDP — no window switching, no helper scripts, all platforms. A station that CQ'd in the last ~45 seconds gets a native reply (WSJT-X behaves exactly as if you double-clicked its own Band Activity line, honoring your auto-TX-enable setting); anyone else lands in the DX Call box with messages generated, ready for you to press Enable TX — and that works for any callsign, not just CQers. QSO Predictor never transmits on its own. (JTDX: CQ replies work; for others the callsign is copied to the clipboard with a note — JTDX predates the protocol message involved.)

Bulletproof UDP, battle-tested

A week of live multi-app migration on the author's station surfaced — and fixed — a family of real-world UDP failures:

  • Multicast reception now joins every interface — a VPN adapter (even a disconnected one) could previously capture the join and leave QSOP deaf while GridTracker and JTAlert received fine
  • New "Shared unicast ports" check in the Network Doctor — Windows silently delivers a shared port to only one app; the Full Checkup now names which app wins and which starves
  • Cross-machine forwarding — the forward list accepts host:port, so QSOP can feed an app on another PC (multicast doesn't cross Wi-Fi reliably; unicast chains do)
  • Callsign/grid changes apply live — no more restart after editing your station identity
  • Corrected in-app guidance: a multicast example address WSJT-X rejects, and port-conflict advice that pointed at the logged-QSOs-only "secondary UDP server"

Integration guides

New on qsop.wu2c.net: Run WSJT-X with GridTracker, JTAlert, and your logger at the same time and QSO Predictor + GridTracker — exact settings verified against the live apps, and a troubleshooting table built from failures that actually happened.

Also: the automatic silent-TX warning (Windows) now requires two consecutive silent probes before it appears — one quiet cycle no longer flashes a self-clearing warning. See RELEASE_NOTES_v2.8.0.md for the full list.


Previous Releases

v2.7.1

The Doctors — full station diagnostics with one shareable report. The Diagnostics → Run Full Checkup menu probes the whole station once — system clock vs NTP, app configs, the UDP decode chain, serial/CAT ports and adapter chips, OS power-management traps, and (on Windows) the TX-audio path — and produces a single markdown report written to be pasted into a forum thread or an AI assistant, findings first, usernames scrubbed. Five new doctors join the Audio Doctor, each also runnable individually. v2.7.1 added two same-day fixes to the status bar's "N reporting" count (distinct receivers, current band only). See RELEASE_NOTES_v2.7.1.md.

v2.6.0

Audio Doctor — find out why your TX audio went silent (Windows). The classic failure — RX fine, WSJT-X "transmitting", nothing on the air — usually lives in Windows: a registry-persisted per-app mute, communications ducking armed by a browser, a stale "2- USB Audio CODEC" entry, system sounds on the default device. Diagnostics → Audio Doctor... runs 11 read-only checks over the audio path, a live TX-path probe that watches the Windows peak meters layer by layer, and an automatic silent-TX status-bar warning; every finding links to the exact Windows settings page where the fix lives. Also: a packaging bug had shipped GitHub-release downloads v2.4.0–v2.5.8 without the IONIS propagation engine (Store installs unaffected) — fixed and CI-guarded, so upgrading restores Path Prediction. See RELEASE_NOTES_v2.6.0.md for details.

v2.5.8

FT8web support — run QSO Predictor with a browser-based FT8 client. Decode, status, and logged-QSO data can now come from FT8web, Ondra OK1CDJ's browser-based FT8/FT4 client, as an alternative to WSJT-X/JTDX (Settings → Network → Listen for FT8web data stream); everything received is re-broadcast as standard WSJT-X UDP so GridTracker, JTAlert, and loggers keep working unchanged. Richer outcome logging — the local outcome log now records a full tactical snapshot at target selection plus a per-TX-cycle trace of the attempt, groundwork for personalized recommendations. Behavior prediction no longer pools single-letter+digit DXCC prefixes with the wrong prefix group, corrupt session_end records are fixed, and the test suite grew to ~350 tests. See RELEASE_NOTES_v2.5.8.md for details.

v2.5.7

Outcome data capture fixed — groundwork for personalized recommendations. Competition was recorded as 0 in every outcome event due to a format mismatch — one of the most informative signals for "did following the recommendation pay off?" — now captured correctly. Malformed grid squares converted to impossible coordinates instead of being rejected, skewing bearing/sector analysis and recorded distances — grids are now validated character-by-character. Help → User Guide now opens the always-current guide at qsop.wu2c.net, and the codebase gained a 285-test automated suite running on Windows/macOS/Linux for every change. See RELEASE_NOTES_v2.5.7.md for details.

v2.5.6

Windows console logging errors fixed — the console stream is reconfigured to UTF-8 so Unicode status messages no longer produce --- Logging error --- tracebacks. Connection-help dialog shows accurate state — green/yellow/red now reflect whether data is actually flowing. UDP-silent warnings stay visible instead of being overwritten by routine status updates. Major internal refactormain_v2.py shrank 54% into focused packages (widgets/, controllers/, analyzer/, utils/) with no behavior change. See RELEASE_NOTES_v2.5.6.md for the full story.

v2.5.5

Memory leak fixed — a sender_cache added in v2.1.0 was never pruned, causing several MB per minute RSS growth on busy bands. Now expires entries on the same 15-minute window as the other spot caches. Microsoft Store-aware update check — MSIX/Store installs now suppress the in-app GitHub update banner since the Store handles updates automatically. Memory diagnostics in cache health log — RSS, VMS, and per-cache sizes now in the periodic log line; adds psutil as a soft dependency. See RELEASE_NOTES_v2.5.5.md for details.

v2.5.4

Privacy Policy Infrastructure — formal documentation of QSO Predictor's privacy posture, in preparation for distribution via the Microsoft Store. New PRIVACY.md, Privacy Policy link in About dialog, documentation alignment across README, User Guide, and wiki. No behavioral changes to the app.

v2.5.3

Disk Space Cleanup — automatic one-time removal of an orphaned pending_observations.jsonl file that had been accumulating silently since v2.0 due to a bug in an unused training-pipeline stub. Some long-running installations saw files in the hundreds of gigabytes. No user data affected — the file had no consumer anywhere in QSOP. See RELEASE_NOTES_v2.5.3.md for full details.

v2.5.2

Path status messaging polish — shorter, clearer wording with richer tooltip context on hover.

v2.5.1

OutcomeRecorder — silent performance data collector. On each QSO attempt, QSOP now writes a compact record (~1.2 KB as of schema v2) of the scoring context and three-tier outcome (NO_RESPONSE / RESPONDED / QSO_LOGGED) to ~/.qso-predictor/outcome_history.jsonl. Sessions tied to operating activity, not app lifetime. No callsigns or grids stored. Enables Phase 2 self-evaluation and coaching features planned for a future release.

v2.5.0

Smarter Frequency Recommendations — scoring engine now uses regional reporter consensus to gauge confidence. Quiet slot scores scale smoothly from 50 (no reporters) to 82 (6+ reporters). Suspicious gap detection dampens empty slots flanked by heavy target decoding activity. Regional consensus recommendation when no proven Tier 1 data exists.

Score Reason Tooltips — hover over the score graph to see why any frequency has its current score. Plain-English explanations: "Proven: 2 signal(s) decoded by target", "Regional quiet: 5 reporter(s) in area, clear", "Suspicious gap: flanked by 6 target decodes".

v2.4.5

Manual target entry — target any station by callsign even if not decoded locally. Click +, type callsign, press Enter. QSOP shows PSK Reporter perspective, path intelligence, and IONIS prediction immediately. Grid lookup cascade uses receiver cache → local decodes → DXCC prefix table. ⚠ indicator clears when station appears in local decodes.

Bug fixes: path/status bar desync for short grids, IONIS band derivation from MQTT when no UDP, DX grid capture from UDP status, band edge recommendation clamped to 300–2700 Hz.

v2.4.3

Pileup status wording rewritten to eliminate ambiguity about data sources:

  • "Calling (clear)" → "Calling — no other callers decoded" (unambiguous: your radio's decodes)
  • "Calling (+5)" → "Calling — 5 other callers decoded"
  • Rank preserved when available: "Calling — #1 loudest of 5 callers"
  • Resolves the contradiction where "clear" appeared alongside a hidden pileup warning

v2.4.2

  • FIXED: vs-Reality comparison now checks spots from your area, not just any activity at target
  • IMPROVED: Removed misleading dB value, added STRONG status tier, shows waiting message when grid unavailable

v2.4.1

  • IMPROVED: Removed misleading dB prediction in IONIS panel
  • IMPROVED: Added STRONG status to OPEN, MARGINAL, and CLOSED predictions

v2.4.0

Path Prediction (IONIS) — QSO Predictor now includes embedded HF propagation predictions powered by the IONIS model by Greg Beam (KI7MT). A new "Path Prediction" section in the Insights Panel shows current prediction, 12-hour forecast strip, and vs-reality comparison against live PSK Reporter data. Pure numpy inference, no PyTorch dependency, runs entirely locally.

  • NEW: Settings → Features tab with IONIS enable/disable toggle
  • FIXED: Target grid not backfilled when set from UDP status before decodes arrive

v2.3.5

  • FIXED: Competition field shows "In QSO" in amber when target is working/completing with another station

v2.3.4

  • FIXED: NOAA solar API format change (SCN 26-21, Brian KB1OPD)
  • FIXED: Score/Path desync — Score now recalculated on every path refresh
  • FIXED: Misleading "CALL NOW" on UNKNOWN PathStatus → "▶ CALL (no intel)"

v2.3.3

  • FIXED: Target change state inconsistency — all target-change paths unified through single _set_new_target() handler
  • IMPROVED: UDP silence detection — context-specific status bar warnings (bind failed, never received, data stopped)
  • CHANGED: "Prob %" renamed to "Score", "Success Prediction" renamed to "Opportunity Score"
  • IMPROVED: Auto-paste scripts now click "Generate Std Msgs" after pasting callsign
  • IMPROVED: Tooltips on clickable elements mention auto-paste script integration

v2.3.2

  • REMOVED: Layer 2 F/H inference — either false positive or redundant; detection now via manual combo box, UDP, and SuperFox auto-detect only
  • FIXED: Multicast UDP crash at startup (WinError 10065) — app now starts gracefully and falls back to unicast (Bob K7TM)

v2.3.1

  • NEW: Three-state F/H combo box — Off / F/H / SuperF/H (replaces checkbox)
  • NEW: Disambiguation dialog when UDP detects Hound mode
  • FIXED: 1000 Hz clamping now applies to F/H only, not SuperF/H
  • FIXED: Path field truncation for long SNR labels

v2.3.0

  • NEW: Target Activity State — real-time status showing whether target is CQing, Working YOU, Working other, or Idle
  • NEW: Fox/Hound Mode Awareness — manual combo box + WSJT-X UDP auto-detection
  • NEW: Fox zone overlay on band map, recommendation clamping to ≥1000 Hz in F/H mode
  • NEW: SNR at Target — surfaces PSK Reporter signal strength in Path field and Path Intelligence panel
  • NEW: Band Edge Score Softening — gentle score ramp in 200–300 Hz and 2700–2800 Hz zones

v2.2.1

  • FIXED: Critical bug — local decode competition data incorrectly triggered "hidden pileup" warnings when PSK Reporter had zero perspective data from target's area

v2.2.0

  • NEW: Tactical observation toasts — real-time alerts for hidden pileups, path changes, competition shifts
  • NEW: Pileup contrast intelligence — cross-references local vs target-side competition
  • NEW: Column header tooltips
  • NEW: Local decode competition fallback
  • FIXED: Critical substring matching bug — "Not Reported in Region" incorrectly matched as "Reported in Region"

v2.1.4

  • Fixed JTDX detection in auto-paste scripts
  • Band map frequency scale brightened for Windows visibility
  • Auto-paste scripts click Enable TX automatically

v2.1.3

  • Click-to-copy target callsign from either panel
  • Local decode evidence for path detection
  • Path column relabeled for clarity

v2.1.2

  • FIXED: Target Perspective never populated — receipt time now used instead of decode time
  • Grid square validation tightened

v2.1.1

  • Band map hover tooltips (callsign, SNR, grid, tier)
  • Frequency scale with Hz labels
  • Resilient data source monitoring

v2.1.0

  • NEW: Hunt Mode — track stations/prefixes/countries with alerts
  • NEW: Path Intelligence — see who from your area is getting through and why
  • NEW: Undockable panels — multi-monitor layout support
  • Click-to-clipboard, auto-clear on QSY, Windows UDP Error 10054 fix

The Problem

You're calling a DX station. No response. Is the band dead? Is your signal too weak? Or are you buried under a pileup you can't even hear?

Traditional tools show the band from your perspective. QSO Predictor shows you the DX station's perspective.

The Solution

Using real-time PSK Reporter data, QSO Predictor shows:

  • What the target is hearing — signals arriving at their location
  • How crowded each frequency is — at their end, not yours
  • Whether your signal path is open — before you call
  • Who else from your area is getting through — and why

Quick Start

Install on Windows

Option A — Microsoft Store (recommended for most users):

Get it from Microsoft

One-click install, automatic updates, signed by Microsoft (no SmartScreen warning). Requires Windows 10 1809 or later.

Option B — GitHub Releases: Download the latest .zip from Releases, extract, and run QSO Predictor.exe. Windows will show a SmartScreen warning the first time — click "More info" → "Run anyway". This is normal for open-source software distributed outside the Store.

Option C — From source: Install Python 3.10+, then:

git clone https://github.com/wu2c-peter/qso-predictor.git
cd qso-predictor
pip install -r requirements.txt
python main_v2.py

Install on macOS

Option A (recommended): Download the latest .dmg from Releases and drag QSO Predictor to Applications.

Option B (from source): Install Python 3.10+, then:

git clone https://github.com/wu2c-peter/qso-predictor.git
cd qso-predictor
pip install -r requirements.txt
python main_v2.py

Install on Linux

No pre-built binary yet — run from source. Install Python 3.10+, then:

git clone https://github.com/wu2c-peter/qso-predictor.git
cd qso-predictor
pip install -r requirements.txt
python main_v2.py

Configure WSJT-X/JTDX (all platforms)

Settings → Reporting → UDP Server = 127.0.0.1, Port = 2237. Check "Accept UDP Requests".

Using FT8web instead? In QSOP: Settings → Network → check Listen for FT8web data stream (port 2442). In FT8web: Settings → External Data Stream → Enabled, URL ws://localhost:2442. Use one data source at a time — QSOP warns if both WSJT-X/JTDX and FT8web are active. See the User Guide for details.

First-Time Setup

  1. File → Settings — enter your callsign and grid
  2. Tools → Bootstrap Behavior — analyze your logs for behavior prediction (optional but recommended)

Features

Target Perspective Band Map

See what the DX station hears, color-coded by data quality:

  • Cyan — Target is directly decoding these signals
  • Blue tiers — Nearby stations (proxy data)
  • Count numbers — Signal density (1-3 ideal, 6+ crowded)

Path Status

Your signal's reach, at a glance:

  • Heard by Target — Target has decoded YOUR signal — call now!
  • Heard in Region — Stations near the target heard you — path confirmed
  • Not Heard in Region — Reporters exist but haven't heard you yet
  • Not Transmitting — You haven't transmitted recently
  • No Reporters in Region — No PSK Reporter data from that area
  • Analyze button — Deep dive into why others succeed

Target Activity State

Real-time status of what the target station is doing:

  • CQing — Target is calling CQ — open for contacts
  • Working YOU — Target is in QSO with you
  • Working [call] — Target is in QSO with another station
  • Idle — No recent target activity

Fox/Hound Mode Awareness

  • Detection via manual combo box, WSJT-X UDP, and SuperFox auto-detect
  • Fox zone overlay on band map (0–1000 Hz dimmed)
  • Recommendations clamped to ≥1000 Hz in F/H mode
  • Full SuperFox/SuperHound support with disambiguation dialog

Local Intelligence

Predicts DX station behavior from observed patterns:

  • Loudest First — favors strong signals
  • Methodical — works through pileup systematically
  • Random/Fair — no clear preference

Hunt Mode

Never miss a wanted station:

  • Track by callsign, prefix, or country
  • Desktop notifications when spotted
  • Special alerts when working your area

Smart Frequency Recommendations

  • Green line — Algorithm's recommended TX frequency
  • Score graph — Visual scoring across the band
  • Solid vs dotted — Confidence indicator (proven vs estimated)

Path Prediction (IONIS)

Physics-based HF propagation prediction powered by IONIS (KI7MT):

  • Predicts whether FT8 can travel from your station to the target
  • 12-hour forecast strip shows when the path opens and closes
  • Compares prediction against live PSK Reporter data — flags unexpected openings
  • Runs entirely locally — no internet required for predictions
  • Enable/disable in Settings → Features

FT8web Browser Client Support

Use QSOP with FT8web, a browser-based FT8/FT4 client, instead of WSJT-X/JTDX:

  • WebSocket listener for FT8web's External Data Stream (Settings → Network, off by default)
  • Decodes, status, and logged QSOs flow into QSOP exactly as from WSJT-X
  • Re-broadcasts everything as standard WSJT-X UDP, so GridTracker, JTAlert, and loggers keep working unchanged

Audio Doctor (Windows)

Read-only diagnosis of the Windows audio path between WSJT-X/JTDX and your rig (Diagnostics → Audio Doctor...):

  • 11-point configuration audit — default-device roles, communications ducking, sample formats, duplicate codec entries, and the hidden per-app mutes that silence TX while showing nowhere inside WSJT-X
  • Live TX path check — press Tune in WSJT-X, and Audio Doctor watches the Windows peak meters to report which layer is silent
  • Automatic status-bar warning when WSJT-X reports transmitting but no audio reaches the rig codec
  • Changes nothing — findings link to the exact Windows settings page where the fix lives

Documentation

📖 User Guide — Complete usage documentation

Keyboard Shortcuts

Key Action
Ctrl+R Clear target selection
Ctrl+H Open Hunt List
Ctrl+S Open Settings
F1 Open User Guide
F5 Force refresh

Requirements

  • Windows 10/11, macOS, or Linux
  • Python 3.10+ (if running from source)
  • WSJT-X, JTDX, or FT8web (browser-based)
  • Internet connection (for PSK Reporter data; Path Prediction works offline)

Version History

v2.4.3 (April 2026)

  • IMPROVED: Pileup status wording — "Calling (clear)" replaced with unambiguous "Calling — no other callers decoded" to eliminate contradiction with hidden pileup warnings

v2.4.2 (April 2026)

  • FIXED: vs-Reality comparison now checks spots from your area, not just any activity at the target
  • IMPROVED: Removed misleading dB value, added STRONG status tier, shows waiting message when grid unavailable

v2.4.1 (April 2026)

  • IMPROVED: Removed dB from IONIS prediction display, added STRONG status

v2.4.0 (April 2026)

  • NEW: Path Prediction — embedded IONIS V22-gamma propagation model by KI7MT. Predicts HF path viability using SFI, Kp, and sun position. 12-hour forecast strip, vs-reality comparison against PSK Reporter data. Pure numpy inference, no PyTorch dependency.
  • NEW: Settings → Features tab with IONIS enable/disable toggle
  • FIXED: Target grid not backfilled when set from UDP status before decodes arrive

v2.3.5 (April 2026)

  • FIXED: Competition field shows "In QSO" in amber when target is working/completing with another station

v2.3.4 (April 2026)

  • FIXED: Solar data (SFI/K-index) showing zeros — NOAA changed JSON format on March 31 (SCN 26-21). Now handles both old and new formats. (Brian KB1OPD)
  • FIXED: Score/Path desync — Score column now recalculated on every path refresh, no more stale 99s on stations whose path degraded
  • FIXED: Misleading "CALL NOW" when no PSK Reporter coverage at target — now shows "CALL (no intel)" in muted blue

v2.3.3 (March 2026)

  • FIXED: Target change state inconsistency — dashboard, band map, and insights panel could show stale data from previous target. All target-change paths now unified through single handler.
  • IMPROVED: UDP silence detection — status bar now warns with specific messages when no data is being received (bind failed, never received, data stopped)
  • CHANGED: "Prob %" column renamed to "Score" — it's an opportunity score, not a statistical probability. "Success Prediction" panel renamed to "Opportunity Score"
  • IMPROVED: Auto-paste scripts now click "Generate Std Msgs" after pasting callsign to DX Call field
  • IMPROVED: Tooltips on clickable elements mention auto-paste script integration

v2.3.2 (March 2026)

  • REMOVED: Layer 2 F/H inference — either false positive or redundant; detection now via manual combo box, UDP, and SuperFox auto-detect only
  • FIXED: Multicast UDP crash at startup (WinError 10065) — app now starts gracefully and falls back to unicast (Bob K7TM)

v2.3.1 (March 2026)

  • NEW: Three-state F/H combo box — Off / F/H / SuperF/H
  • NEW: Disambiguation dialog for F/H mode detection
  • FIXED: 1000 Hz clamping now applies to F/H only, not SuperF/H
  • FIXED: Path field truncation for long SNR labels

v2.3.0 (March 2026)

  • NEW: Target Activity State (CQing/Working YOU/Working other/Idle)
  • NEW: Fox/Hound Mode Awareness — manual combo box + WSJT-X UDP auto-detection
  • NEW: SNR at Target in Path field and Path Intelligence
  • NEW: Band Edge Score Softening (200–300 Hz and 2700–2800 Hz zones)

v2.2.1 (February 2026)

  • FIXED: Local decode competition incorrectly triggering hidden pileup warnings when PSK Reporter had no target-area data

v2.2.0 (February 2026)

  • NEW: Tactical observation toasts
  • NEW: Pileup contrast intelligence
  • NEW: Column header tooltips
  • FIXED: Critical substring matching bug in path status

v2.1.4 (February 2026)

  • Fixed JTDX detection, band map scale, auto-paste Enable TX

v2.1.3 (February 2026)

  • Click-to-copy callsign, local decode path evidence, path column clarity

v2.1.2 (February 2026)

  • FIXED: Target Perspective stale data rejection bug (Brian KB1OPD)
  • Grid square validation fix

v2.1.1 (February 2026)

  • Band map tooltips, frequency scale, resilient data monitoring

v2.1.0 (January 2026)

  • Hunt Mode, Path Intelligence, undockable panels

v2.0.0 (November 2025)

  • Local Intelligence, Insights Panel, Multicast UDP, persona prediction

v1.x

  • Band map, path status, WSJT-X/JTDX integration, frequency scoring

Contributing

Contributions welcome! Please open an issue first to discuss proposed changes.

Contributors

  • Brian KB1OPD — SuperFox/SuperHound live testing (CY0S), F/H false positive report, band map and tooltip requests, extensive beta testing
  • Warren KC0GU — Hunt Mode concept, Clear Target workflow, UI persistence suggestions
  • Bob K7TM — Multicast crash bug report
  • Doug McDonald, CaptainBucko, Bill K3CDY, Edgar K9RE — Beta testing and feedback
  • Jallu OH4NDU — Linux testing

Privacy

QSO Predictor does not collect, store, or transmit personal information. All data stays on your local device. See the Privacy Policy for details.

License

QSO Predictor is licensed under the GNU General Public License v3.0 — see LICENSE.txt for the full license text.

For attribution of third-party dependencies and bundled models (including the IONIS propagation model by Greg Beam, KI7MT), see THIRD_PARTY_NOTICES.md.

For a summary index of every license in use across QSO Predictor and its dependencies, see DEPENDENCY_LICENSES.md.

Support


73 de WU2C

About

Target-side tactical intelligence for FT8/FT4: see the DX pileup, confirm the path, and find the clearest TX frequency

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages