Wheel Force · Dad-Setup · Tue Jul 14, 2026

Keith's Agent — Run-of-Show

Sit next to him, go top to bottom. Bot is @DadTotalBot · pairing code roadking · panel Dad's Day. The whole job is ~10–15 minutes.

Already done — verified live

1

Three apps on his phone

On his phone
  • Telegram — how he'll talk to it. Search @DadTotalBot, hit Start.
  • ntfy — his nudges. Add server http://192.168.1.115:8090, subscribe topic pops-ec496ea5.
  • Tailscale — accept the invite to his own user (keithboggan19@gmail.com), sign in, then VPN → On Demand = Always (Wi-Fi + Cellular). Set once, never touch again.
2

Pair the bot to only him

His phone → then the box

Keith messages the bot the one word: roadking. You get an ntfy ping with his Telegram ID. Drop it in and restart:

# put HIS id in place of 123456789 cd ~/agent && sed -i '/^DAD_TELEGRAM_ID=/d' .env echo 'DAD_TELEGRAM_ID=123456789' >> .env sudo systemctl restart pops-telegram

Now it answers only him; everyone else is ignored.

3

The moment — have him talk to it

On his phone · the payoff

Have Keith hold the mic in Telegram and just say it, rough and rambly is fine:

Have him say

My pressure was 142 over 88 — find me a rollback tow truck under 45k.

Watch three things land: the reply in the chat, an ntfy ping, and it talks back in his own voice thread. That one voice note is the entire product — health logged, truck search drafted, no software to learn.

4

Put "Dad's Day" on his home screen

On his phone

Open panel.lab.zionboggan.com → browser menu → Add to Home Screen. Name it Dad's Day. Show him: today's one step, the memo box, his health card + BP line, and the Money card. Tap the 👀 / ✅ / Later buttons once so he sees they open.

If a button doesn't open on his phone: it's a PANEL_BASE_URL mismatch — set it in ~/agent/.env to whatever URL his phone can reach and restart pops-panel.
5

Feed in his life (the real magic)

At the table · on the box

Set his Wheel Force compliance calendar — one command, needs his LLC state + formation date:

# fill in state (e.g. TN) and the date it was formed sudo -u pops ~/agent/bin/compliance.py calendar \ --state TN --formed YYYY-MM-DD --schedule

Then just talk to it to load the rest — it absorbs everything into his profile:

  • Tow-truck budget · Fidelity status · comfort level on health specifics
  • Real money numbers — paycheck, fixed bills, savings goals (tow-truck seed, emergency fund)
  • Voice-memo more of his story — the profile grows every time he speaks
Weekly money check-in first fires Fri Jul 17, 6 PM — ask him a better day/time and tune it while you're sitting there.
6

The small things he asked for

Quick hits · his phone + a chat
  • Scam calls: iPhone → Settings → Phone → Silence Unknown Callers, plus his carrier's blocker. 2-min teach: never call back, never press 1, real companies don't ask for gift cards.
  • Read-it-to-me: show a voice note in → spoken reply back (confirm that's what he meant by "speechified").
  • Style: confirm his colors — black, brown, grey, green — and snap 2–3 photos of suits/shirts he owns so advice is about his real closet.
  • Food helper: ask which article he meant, and 5–10 foods he actually eats on the road.
  • Truck routing: be explicit — a real truck GPS (Trucker Path / Garmin dēzl) is the authority, never the agent, never Waze.
  • Morning spark: confirm the one-ping format (next step + Black-history item + Spanish phrase) isn't too much.

Know this before you demo

Telegram works anywhere

It polls out from the box — no VPN needed. He can talk to it on cellular from the road, day one.

The panel URL works anywhere too

panel.lab.zionboggan.com is public with a real cert — opens off Wi-Fi without Tailscale.

ntfy nudges need Tailscale off-home

They live on the home LAN (…1.115). Away from the house, his pings only arrive if Tailscale is On-Demand = Always. Get that toggle set.

Fitbit is optional

Not wired yet (no dev-app). Everything else works without it — add it any time later.

After you're happy (your call, not today)