Add --demo mode with fake router data + README screenshots#8
Merged
Conversation
Running the dashboard against a real router means a screenshot for the README leaks SSIDs, neighbour SSIDs, connected-device MACs, and hostnames. --demo lets the dashboard boot against hardcoded plausible data so the tool can be demoed, screenshotted, and tried before users connect real hardware. - drivers/demo.py: DemoDriver with two bands (MyHomeWiFi / MyHomeWiFi-5G) and four fake clients. set_channel mutates internal state so pressing C reflects on the next refresh — feels live. - devices/demo.yaml: makes "demo" selectable via --device too, and shows up in --list-devices. - wifi_scanner.demo_scan_networks(): fake 10-network scan crafted so the recommender has a clear winner on each band (ch 11 and ch 149). - WifiDashboard now accepts an optional scan_fn so --demo can wire in the canned scan instead of CoreWLAN. - main.py: --demo short-circuits the password/login path entirely; also adds a "Try --demo first" hint to the no-password error message. - README: new "Try it in 30 seconds" section at the top. - 9 new tests cover DemoDriver correctness and scan data shape.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Running the dashboard against a real router means any screenshot for the README would leak your SSID, neighbours' SSIDs, connected-device MACs, and hostnames. This PR adds a `--demo` mode that runs against hardcoded plausible data so the tool can be demoed, screenshotted, and tried by anyone — including people who don't own a compatible router yet.
What's in it
Why this matters for adoption
From the discoverability audit: a CLI tool without a screenshot in the README gets a high bounce rate, and Textual dashboards are visually compelling. `--demo` also makes the "hey, try this out" barrier near-zero — clone, one command, see the thing work.
Test plan