Post-Migration Roadmap¶
Items deferred during the R940 sovereignty migration sprint. Ordered by priority for post-migration execution. None block current migration work.
Tier 1 — Active post-migration projects (do these after sovereignty complete)¶
Execute after the full R940 sovereignty migration is complete: Onset, SPRINT-7 (last1.app + RadioCheck), SPRINT-8 (admin reconnect).
1. SendGrid → Resend (email provider migration)¶
| Field | Detail |
|---|---|
| Scope | ALL products currently using SendGrid: last1.app, RadioCheck, LastVet, Onset. Audit which actually send email before kickoff. |
| Rationale | Resend is cleaner DX, free at current volume, better developer experience. |
| Approach | Uniform pass across all products. Not interleaved product-by-product (avoid split-provider state). |
| Onset note | Onset was not migrated during its sovereignty sprint. Include Onset in this pass. |
| Per-product work | Swap send logic, migrate templates, update DNS (SPF/DKIM/DMARC for Resend sending domain), test deliverability across every transactional email path. |
| Complexity | LOW–MEDIUM (email is standards-based, no regulatory layer). |
| GG secrets | SendGrid keys retire as part of this (was GG 29615727 for last1.app). |
| Inventory | SENDGRID_TO_RESEND_INVENTORY.md — 13-key matrix (2026-08-30) |
2. CF Pages marketing split (last1.app)¶
| Field | Detail |
|---|---|
| Scope | last1.app is currently a Railway Node monolith (Vite SPA + Express API). Split the marketing/SPA tier to Cloudflare Pages; leave the API on R940. |
| Rationale | Matches the pattern used for last1.id (lean SPA on CF Pages, API separate). |
| Deferred from | SPRINT-7 (SPRINT-7 does lift-and-shift monolith as-is; this split is an optimization, not a migration requirement). |
| Complexity | MEDIUM |
Related muster / docs: realoutcomes-marketing-pages-split (RealOutcomes variant, separate item), cloudflare-pages-marketing-migrations (closed track for other sites).
3. MATR consolidation¶
| Field | Detail |
|---|---|
| Scope | MATR consolidation: new GitHub org migration to R940. |
| Muster | matr-consolidation-new-github-org-migrate-to-r94 |
| Sequencing | After all Last 1 Enterprises product migrations complete. |
| Complexity | TBD (needs its own audit). |
Tier 2 — Researched but postponed (revisit on trigger)¶
4. Twilio → alternative SMS provider¶
| Field | Detail |
|---|---|
| Status | POSTPONED. Roadmapped for consideration, not committed. |
| Trigger to revisit | RadioCheck moves from dormant to active outreach/development at real volume. |
Current situation¶
RadioCheck is dormant (2 active users, near-zero recent SMS). Twilio cost is negligible at current volume. The cost argument only becomes real at scale.
Two distinct pain points¶
| Pain | Urgency |
|---|---|
| Cost | Future-tense. Only material if RadioCheck reactivates and scales. Not urgent while dormant. |
| Configuration | Present frustration ("ton of trouble configuring a simple SMS campaign"). Largely A2P 10DLC compliance, which follows to any US SMS provider. Partly unavoidable regardless of provider. |
Key constraint¶
A2P 10DLC brand + campaign re-registration required with any new US SMS provider. Not a config flip. Budget real setup time. Migrating a dormant product's SMS now (then possibly again on reactivation) is worse than waiting for the trigger.
Candidate alternatives (evaluate when triggered)¶
Verify current pricing, DX, and 10DLC process at decision time. These change fast.
| Candidate | Notes |
|---|---|
| Telnyx | Lead candidate. Direct carrier connections, generally cheaper per-message, better support reputation than Twilio at small scale. Best fit for stated pain (cost + support). |
| Plivo | Mature Twilio alternative, competitive pricing, similar positioning. |
| Bandwidth | Direct carrier, good pricing, more enterprise / heavier onboarding. |
| AWS SNS / Pinpoint | Not recommended. 10DLC UX arguably worse than Twilio, AWS-complex, not the DX improvement sought. |
Evaluation criteria (when triggered)¶
- 10DLC registration DX + support quality (the actual pain)
- Per-message cost at projected volume
Reality check¶
SMS is never truly "free" like Resend is for email. Carrier + 10DLC fees exist regardless of provider. The win is DX, support, and cost-at-scale, not zero-cost.
Bundling¶
If migrated, apply uniformly to any product using SMS (currently RadioCheck; confirm whether last1.app or LastVet send SMS).
Notes¶
- Tier 1 items execute after the full R940 sovereignty migration (Onset, SPRINT-7 last1.app/RadioCheck, SPRINT-8 admin) is complete.
- Tier 2 Twilio revisits on RadioCheck reactivation, independent of the sovereignty timeline.
- This doc captures decisions and context from the migration sprint so they do not live only in conversation history.
References¶
- R940_NAMING_CONVENTION_v1.md
- R940_MIGRATION_PLAYBOOK.md
- TIER_RESEQUENCING_2026-08-28.md
- TIER_3_ADMIN_PAUSED_STATUS.md
- Muster:
infra-consolidation-playbook-approve,migrate-last1app-radiocheck-shared-supabase-to-r940,matr-consolidation-new-github-org-migrate-to-r94