sam-4screen-desktop 2026-9-1:13:9:8

This commit is contained in:
2026-09-01 13:09:08 +10:00
parent 36293405c8
commit ac809ee2c8
2 changed files with 43 additions and 2 deletions

View File

@@ -210,8 +210,9 @@
"templater-obsidian:Templater": false "templater-obsidian:Templater": false
} }
}, },
"active": "b0724d9a8e78110f", "active": "8018aa52f0591df9",
"lastOpenFiles": [ "lastOpenFiles": [
"200 projects/240 Web Sites/Where Woof.md",
"300 areas/380 Social Politics Economics Issues/Chinese Non Silicon Micro Chip.md", "300 areas/380 Social Politics Economics Issues/Chinese Non Silicon Micro Chip.md",
"200 projects/220 Web Host Migration/Backup Action Plan — Close the Gaps + Restore.md", "200 projects/220 Web Host Migration/Backup Action Plan — Close the Gaps + Restore.md",
"200 projects/220 Web Host Migration/Cloudflare Record Set — audasmedia.com.au.md", "200 projects/220 Web Host Migration/Cloudflare Record Set — audasmedia.com.au.md",
@@ -237,7 +238,6 @@
"200 projects/220 Web Host Migration/Phase 1 — AWS Offsite Backup.md", "200 projects/220 Web Host Migration/Phase 1 — AWS Offsite Backup.md",
"200 projects/220 Web Host Migration/Phase 0 — Pre-flight.md", "200 projects/220 Web Host Migration/Phase 0 — Pre-flight.md",
"200 projects/220 Web Host Migration/Migration Plan — InMotion to Local + AWS Offsite.md", "200 projects/220 Web Host Migration/Migration Plan — InMotion to Local + AWS Offsite.md",
"300 areas/360 Dev-Ops Network Computers/Backup Health Check Commands.md",
"000 daily/ThinkPad Recommendations", "000 daily/ThinkPad Recommendations",
"500 archive/510 Daily", "500 archive/510 Daily",
"300 areas/305 Ideas Businesses", "300 areas/305 Ideas Businesses",

View File

@@ -0,0 +1,41 @@
# Where Woof
> Return-tag platform: QR/NFC tags on valuables; finder scans → owner gets SMS with map link. Go + HTMX frontend, Laravel/Filament admin, shared Postgres.
## Project state (2026-08-28)
**Live:** frontend `where-woof.com` (.13:3020) · admin `admin.where-woof.com` (.13:3031)
**Phases done:** foundation, scan flow (real SMS via SMSGlobal), hardening, HTMX polish, admin, deploy, **billing (Phase 5)** — account-based annual sub.
## Billing model (locked with owner)
- **Account = the product**: $10/yr flat, up to **25 tags**, **50 SMS/yr included**; extra SMS $0.10 each (100-credit pack = $10).
- **Tags one-time**: single **$5 + GST** ($5.50), 10-pack **$20 + GST** ($22.00). Cost ~$1 to make.
- **Replacement tags**: new SKU $5 one-time, annual sub continues untouched. Move mechanic already built (source→closed, unset target→active).
- **Business/public-info model deferred** (scan-volume tiers, no SMS) — `plans.plan_type='business'` reserved.
- Sandbox-first: Stripe test mode verified e2e; live keys pending onboarding.
## Stack / infra
- Frontend: Go `net/http`, sqlc/pgx, HTMX/Alpine/Tailwind. Admin: Laravel 13 + Filament 3 + Cashier 16 (Stripe AU).
- Shared Postgres on .13:5434 (`wherewoof`), schema canonical in `db/schema.sql`.
- Deploy: per-file `rsync --checksum` to .13 + systemd/docker restart. Gitea `sam/where_woof`.
- SMS: SMSGlobal HTTP API (`SMS_USER/PASSWORD/FROM`) — **live creds are set on .13**.
- Email: Gmail SMTP → samuelrolfe@gmail.com (app password, env-only). hello@where-woof.com = public contact (Cloudflare/SES planned).
## Promo (2026-08-28)
- `/order` page with Stripe Payment Links (test mode): single 1–25 qty, 10-pack 1–2.
- Red banner across all pages: "Protect & recover your valuables — ORDER NOW".
- Contact form → Gmail SMTP.
## Gotchas
- Laravel login: `User::$authPasswordName = 'password_hash'` (Laravel 13 rehash-on-login writes the wrong column otherwise).
- Cashier: Managed Payments requires `tax_code` → `txcd_10103001` (SaaS) is eligible.
- curl `-F "phone=%2B..."` stores literal `%2B` — use real `+`.
## Links
- [[210 AI Resume]] · [[220 Web Host Migration]] · [[240 Web Sites]]