System health
Cloudflare's hourly figures for the API, every scheduled job, third-party status and open alerts. A job alerts after three failures in a row, or when its last success is overdue.
Loading…
Ops room
Alerts (reports, stale backups, billing, vendor outages), a daily stats post and admin-security events go to the Slack ops channel. It's outbound only — act on alerts here in the console. Setup: docs/runbooks/ops-room.md. Every admin action is listed below.
Loading…
Backups
Database dumped every 6 hours and photos mirrored nightly into the locked buymethis-backups bucket (objects undeletable for 30 days; dumps kept 90). Plus D1 Time Travel for point-in-time rollback. Admins are emailed if no dump succeeds for 12 hours. Restore runbook: docs/runbooks/restore-from-backup.md.
Loading…
Content reports
Reports from users about items shared into their groups (Online Safety Act reporting route). Take down removes the item from every group — it stays in the owner's private list. Illegal-content reports: acknowledge within 24h, decide within 72h [targets — solicitor to confirm]. Never view or forward suspected CSAM beyond the reporting pipeline.
Loading…
Retention — does anyone come back?
This is a local-first app, so real usage = gift activity, not logins. Activated = added ≥1 gift; "came back" = last activity a day/week after joining. Admins excluded.
Loading…
Zyte — previews & photos
Powers link auto-fill & product photos. A low balance suspends the account and silently breaks both.
Loading…
Barcode lookups
Scan → product identification (ISBN→Open Library, else UPCitemdb). A high miss-rate is the trigger to add a paid source. Admins are emailed when misses grow.
Loading…
AI gift suggestions
Claude usage and cost. Each suggestion call is logged with tokens, cost and outcome.
Loading…
Parcel tracking — usage & cost
Carrier statuses via EasyPost (US). We pay per tracker created (once, when a tracking number is saved); webhooks, the 08:00-local sweep and manual refresh are free. Pro plans only. Cost model + setup: docs/runbooks/parcel-tracking.md.
Loading…
Vendor QR codes
A stall or shop gets a QR code. Scanning it opens buymethis.online/v?s=… and offers to add that shop's item to the scanner's own wishlist — through sign-up if they're new. Vendors see nothing about who scanned; we count scans and adds here. Shops can also apply themselves at buymethis.online/vendors — applications appear here as Pending; Approve activates the code and emails them the QR.
Loading…
Subscriptions
Plan mix and the Apple/Stripe breakdown from live billing data.
Loading…
Email deliverability
Bounces & complaints from Resend. Repeated bounces to one address means stop mailing it.
Loading…
Admins & two-factor
Creating or demoting an admin needs two-factor sign-in turned on and your current password, and posts to the ops channel. An admin can't appear or disappear silently.
Loading…
Loading…
Add an admin
Creates an admin-only account with no app access. Support can look up users, disable accounts and handle content reports; Full access can do everything. Use a strong 12+ character password.
Users
Everyone who's signed up, their plan, storage and gift count. Change a plan from the dropdown — it's a grant that sticks until you set it back to free (a real App Store or Stripe subscription still counts on its own).
Loading…
Link previews by domain
Which shops the server-side preview can and can't read. High failures usually mean the shop blocks datacenter IPs.
Loading…
Recent preview attempts
Loading…