Local-first LAN scanning via Go and Wails
The real friction point wasn't the Go implementation or the networking primitives; it was the device identification heuristics. If you’ve ever tried to parse a MAC prefix or an SNMP sysName to determine a device type, you know it’s a mess. I spent a significant amount of time writing ordered rule sets just to stop a Nintendo Switch from being misidentified as a network switch. There is no "magic" classifier that works reliably; you need specific, tiered logic to handle those edge cases.
Regarding data privacy, I’ve enforced a strict local-first architecture. Most "local" apps are just thin clients for a central database, but here, identification happens on your own hardware. If you want to leverage an LLM to help classify a mystery device, you "bring your own key." This ensures API costs and data leakage are managed by the user rather than a central server.
If you are interested in the technical implementation or the Wails/Go stack, you can check out the documentation and the current public beta for the server edition here:
https://deviceshelf.app/blog