# WiFi Onboarding Draft This folder contains a draft onboarding design for getting a piNail device onto WiFi and giving the user the correct webserver address with minimal friction. ## Goals - Zero SSH required for end users. - Works on first boot with no preloaded WiFi credentials. - Reliable recovery if router/SSID/password changes later. - Stable web UI address after setup. ## User Flow (Target UX) 1. User powers on device. 2. Device attempts connection using saved WiFi config. 3. If connection fails (or no config), device starts setup AP: `piNail-Setup-XXXX`. 4. User joins setup AP from phone/laptop. 5. Captive portal opens (or user browses to `http://192.168.4.1`). 6. User enters: - WiFi SSID - WiFi password - Optional hostname (default `pinail`) - Network mode: DHCP (recommended) or static IP 7. Device validates, saves config, reboots. 8. On success, user opens: - `http://pinail.local:5000` (preferred) - fallback LAN IP shown on success page or label. ## Recommended Network Strategy - Default: DHCP + router DHCP reservation (best supportability). - Expose both mDNS and IP to users: - `pinail.local` - `192.168.x.y` ## Files in this folder - `PI_IMPLEMENTATION.md`: concrete Raspberry Pi setup design. - `RECOVERY_AND_RUNBOOK.md`: failure handling and support steps. - `wifi_config.example.json`: suggested stored config schema.