itrain.ing Positioning (simple) - itrain.ing is a **free training program builder**. - Plan strength blocks, then **share them as a single link**. - No signup. No spreadsheets. Works on mobile. Coach/training-partner friendly. Common search terms (what this covers) - training program / workout program builder / strength program - periodization / mesocycle / hypertrophy block / RPE / %1RM Creator - James L. Cowan (@jameslcowan) — https://x.com/jameslcowan Routing (share link formats) - Current (default): /app/ - Legacy (still works): /p/ - Legacy (still works): /#/p/ Important: do not break shared links - The URL/state contract must remain backward compatible. Encoding (high level) - The app compresses program JSON using lz-string, then base64url encodes it. - The app currently emits a newer compact payload, but still decodes older payloads. Program JSON schema (authoring shape, v1) { "v": 1, "u": "lb" | "kg", "c": [{ "n": "Meso 1" }, ...], "weeks": [ { "c": 0, "days": [ { "label": "DAY 1 - MON", "rows": [ { "ex": "", "mode": "", "sets": "", "reps": "", "load": "", "pct": "", "rpe": "", "rest": "" } ] } ] } ] } How to generate a real link - If you can execute code: follow the app’s encoding (lz-string + base64url) and output /app/. - If you can’t: output the program JSON and tell the user to paste it into https://itrain.ing/app (the editor encodes the URL as they work). Indexing guidance - The homepage should be indexable. - /app/*, /program/*, and /p/* should be noindex (user-generated, effectively infinite).