# SidelineWorks — Domain Scope & RTSport Migration Plan > 2026-05-09 | Author: Wadsworth 📋 > Domain: sidelineworks.com (Matt-owned) > Existing: hoffdesk.com (blog/admin) --- ## The Vision SidelineWorks.com becomes the **public face** of the return-to-play platform. Two layers: ### Layer 1: Public Marketing Site (this is what we build now) - **sidelineworks.com** → public website - Sales / landing pages - Product pages (AT Dashboard, Coach Dashboard, Parent Portal) - Support / knowledge base - Blog (separate from HoffDesk — product-focused) - Contact / demo request - Pricing page (the $1,500-2,000/school model) ### Layer 2: Application (RTSport migrates here later) - **app.sidelineworks.com** or **sidelineworks.com/app/** → the RTSport dashboards - AT/Coach/Parent/AD login - Sideline entry, case management, recovery tracking - Message system between roles - Currently lives at `hoffdesk.com/rtsport/` — needs migration plan --- ## What We Get With Our Own Domain | Feature | How | |---------|-----| | **Email** | Cloudflare Email Routing → forward `*@sidelineworks.com` to us | | **Webhooks** | `hooks.sidelineworks.com` — same Cloudflare Tunnel pattern as current | | **SSL** | Automatic via Cloudflare | | **Subdomains** | `app.sidelineworks.com`, `docs.sidelineworks.com`, `status.sidelineworks.com` | | **SPF/DKIM** | For sending email as @sidelineworks.com (down the line) | --- ## Current Architecture (unchanged) ``` titanium-butler (Beelink, 127.0.0.1) ├── port 8000 → HoffDesk API (blog, family, rtsport proxy) │ └── Cloudflare Tunnel → hoffdesk.com ├── port 8001 → RTSport API (standalone FastAPI) └── port 8002 → Radicale (CalDAV) ``` **SidelineWorks.com** would get its own Cloudflare Tunnel (separate from hoffdesk.com), pointing to either: - A new port on the Beelink (e.g. port 8003) running a marketing site - OR the same port 8000 with host-based routing (Tunnel sends hostname → app routes) --- ## What We Build (Phase 1: Marketing Site) ### 1. Public Pages | Page | Purpose | |------|---------| | `/` | Hero + value prop + 3-role cards (AT/Coach/Parent) + CTA | | `/product` | Feature breakdown: 3-tap sideline entry, recovery tracking, case management | | `/pricing` | School ($1,500-2,000/yr), District ($4-8K/yr), Enterprise (negotiated) | | `/demo` | Request form → webhooks → Telegram notify Matt | | `/contact` | Support contact form | | `/blog` | Product blog (separate from HoffDesk) | ### 2. Tech Stack - **Same as current:** FastAPI + Jinja2 + HTMX (vanilla JS) - **Hosted on:** Beelink via new Cloudflare Tunnel - **No auth needed** — fully public site - **Design:** Dark theme from RTSport dashboards (existing palette). Clean, minimal, professional. Communicates high-impact tool for high school athletes, not a startup. ### 3. Domain Infrastructure - Cloudflare Tunnel for `sidelineworks.com` → local port - DNS: `A` or `CNAME` via Cloudflare - Email routing: `hello@sidelineworks.com`, `support@sidelineworks.com` → current iCloud/outlook - Webhooks: `hooks.sidelineworks.com` → same Beelink --- ## RTSport Migration Path (Phase 2+) ### When After marketing site is live. RTSport stays at `hoffdesk.com/rtsport/` for now. ### Steps 1. Build marketing site on sidelineworks.com 2. When RTSport is beta-ready, move dashboards to `app.sidelineworks.com` 3. Keep HoffDesk as internal admin/blog — never exposes RTSport data ### Benefits of Separate Domain - No confusion between "this is a product" and "this is my personal blog" - Professional email addresses for sales outreach - Clean separation: HoffDesk = the workshop, SidelineWorks = the product --- ## What We DON'T Do (yet) - ❌ No email sending infrastructure (SPF/DKIM config deferred) - ❌ No multi-server architecture (everything on Beelink) - ❌ No payment processing (pricing page is informational) - ❌ No user signup flow (demo request → manual outreach) - ❌ No migration of RTSport from hoffdesk.com (Phase 2) --- ## Brand Architecture (2026-05-09 ✅) ### Two Marks Required **1. SidelineWorks — Master Brand** - Full wordmark + icon/emblem for `sidelineworks.com` - The company / platform brand - Style: Clean, professional, high-impact. Dark theme palette from RTSport alpha. - Sits in header of marketing site, blog, all public pages **2. RTSport — Product Wordmark** - Complimentary wordmark, not competing with SidelineWorks - Use case: sub-brand on the app/sign-in pages, footer credit "RTSport — a product by SidelineWorks" - Same design language, smaller scale, clearly subordinate - Maintains product identity for the AT/Coach/Parent audience who know "RTSport" **Relationship:** ``` SidelineWorks └── RTSport (product by SidelineWorks) └── (future products) ``` ## Demo Form → Telegram Notifications On the `/demo` page, a form collects: - School name - Contact name - Email - Phone (optional) - Role (AT / Coach / AD) - Message **On submit:** The webhook sends a Telegram message to Matt's DM with the lead details. This requires: 1. A POST endpoint on port 8003 that receives the form 2. A Telegram API call from the Beelink (using existing bot token) to notify Matt Matt sees something like: > 📋 **New Demo Request** > School: Green Bay South > Contact: Jake Thompson (AT) > Email: jake@south.k12.wi.us > Phone: (920) 555-0142 > Message: Looking for district pricing, 3 high schools This is implementable with 50 lines of Python and the existing Telegram bot setup. ## Director Decisions (2026-05-09 ✅) 1. **Design:** Dark theme from RTSport alpha, clean and minimal. Convey high-impact tool for high school athletes. 2. **Blog:** Separate product blog on sidelineworks.com. HoffDesk stays personal. 3. **Email:** Phase 2 — not setting up forwarding now.