// SquadPT

Squad to company,
one source of truth.

What started here as a single-file planning board is now a live multi-tenant platform. Weekly PT plans ten fields deep for every squad, events entered once and landing everywhere in green, a one-page printable brief — and accounts that never ask for an email. Live at squadpt.com, free for squads.

Web + iOS beta React TypeScript Supabase

// 01 — The planning board

Every squad. Every day. Ten fields deep.

A Monday–Friday week card per squad, ten structured fields per day — with platoon events landing in green on every board the moment they're typed. Rebuilt below in pure CSS, because a portfolio should show its work.

squadpt.com · live
SquadPT
Shared · Live · BLACKJACK PLT
Plan Calendar Events & DONSAs Platoon
1ST 2ND 3RD 4TH
JULY 2026 Saved Save as PDF
1st Squad PT Plan JULY 2026 · WEEK 3 EventDONSA
Monday 13 JUL
FocusSTRENGTH
LocationBattalion gym
UniformPT uniform
InstructorsSGT Castillo + asst
EquipmentKettlebells, sandbags
WarmupPrep drill · mobility circuit
Workout5×5 trap-bar deadlift · sandbag carry 4×50 m
CooldownRecovery drill 1–10
AARGood tempo — add load next week
NotesWeigh-ins Thursday after PT
Tuesday 14 JUL
FocusENDURANCE
LocationTrack
UniformPT uniform · reflective belt
EquipmentWater source, stopwatches
Warmup800 m jog · dynamic stretch
Workout4-mile release run · last mile at goal pace
CooldownStatic stretch · foam roll
NotesHydrate — heat category 3
Wednesday 15 JUL
AFTArmy Fitness Test — record, 0600 PT field
FocusEVENT
LocationPT field
UniformPT uniform · reflective belt
EquipmentGrader packets, stopwatches
NotesTyped once — landed on every squad
Thursday 16 JUL
FocusAPEX
LocationHill behind motor pool
UniformPT uniform
EquipmentCones, medicine balls
WarmupPrep drill · stride-outs
Workout30/60 s sprints ×10 · hill repeats ×6
CooldownWalk-back recovery · stretch
AAR
Friday 17 JUL
DONSA — No scheduled PT
TitleTraining holiday
DetailsFlagged once — applies to all squads

Scroll →

A·01

Ten fields per day

Focus, location, uniform, instructors, equipment, warm-up, workout, cool-down, AAR, notes — a real plan, not a sticky note.

A·02

Events enter once

Wednesday's fitness test was typed one time at platoon level — it landed on every squad's board in green.

A·03

DONSAs are loud

One checkbox flags the training holiday across every squad with a full-day banner — nobody plans PT on a holiday.

// 02 — Live at squadpt.com

The real board, in production.

The shipped week view — squads tabbed across the top, an edit toggle for those with the role for it, and month and year selectors that browse as far as the plan goes.

squadpt.com · plan
SquadPT week view — 1st Squad, July 2026: five day columns with ten fields each, a company sports day and a record fitness test highlighted in green

Production UI, fictional seed data — BLACKJACK PLT

B·01

Squads are tabs

One to eight squads per platoon, renamable any time — plan history stays with the squad.

B·02

Edit is a role, not a hope

Member, squad leader, platoon sergeant, admin, owner — plus month-scoped edit grants when a leader hands off a cycle.

B·03

No horizon limit

Month and year selectors browse anywhere — last year's plans read exactly as they were written.

// 03 — Enter it once

Type it one time. It lands everywhere.

Events and DONSAs are entered once at platoon level — or once at company level, above it — and appear in green on the matching date of every squad's plan and calendar.

squadpt.com · calendar
SquadPT month calendar — 3rd Squad, July 2026 at a glance with events and a DONSA training holiday highlighted

The month view — a squad's whole cycle at a glance

squadpt.com · events
SquadPT Events and DONSAs table for July 2026 — sports day, record fitness test, training holiday, esprit run, safety brief

The platoon's event feed — one row here paints every board

C·01

Company tier above

Companies link three to eight platoons read-only under CO- codes — command sees every plan, company-wide events, and PT-day assignments across five command views.

C·02

DONSA once, quiet everywhere

Flag a training holiday in one row and every squad's day goes dark — no accidental 0530 formation.

C·03

Squads start standalone

A single squad can run its own team, then link into a platoon later — history absorbed, nothing retyped.

// 04 — Accounts with nothing to phish

No email. No inbox to attack.

Accounts are a username and a password — no email on file, no government email, no CAC, nothing to phish. Teams join with a rotatable PT-XXXX-XXXX-XXXX code stored only as a hash, and row-level security walls every team off from every other.

squadpt.com · platoon
SquadPT platoon settings — four renamable squads and a rotatable team join code

Platoon settings — squads and the join code, owner-controlled

squadpt.com · console
SquadPT platform console — pending team access requests with approve and reject actions

The access-request pipeline — every new team is approved by a human

D·01

Codes rotate, hashes rest

Rotating the join code invalidates the old one instantly; the server never stores the code itself, only its hash.

D·02

Row-level security

Tenant isolation is enforced in the database, not the client — a team's rows are invisible to every other team by policy.

D·03

Forgot your password?

The team admin resets it. That is the entire recovery surface — no reset emails to intercept.

// 05 — The pocket build

The whole plan rides along.

The same product ships as a native iOS app — in beta on TestFlight — with push notifications and a day view built for the formation line. Reusable day templates turn planning a week into minutes.

squadpt · day
SquadPT day view on a phone — a Monday strength day with all ten fields readable at arm's length

Day view — swipe between days, readable at 0530

squadpt · templates
SquadPT template picker over the day editor — saved day templates ready to apply

Templates — save a day once, apply it any week

E·01

Templates do the typing

Save any day as a template — ruck day, track day, deck of cards — and stamp a week out in minutes.

E·02

iOS, in beta

A Capacitor-built native app on TestFlight — same account, same team, push notifications when the plan changes.

E·03

Three themes

Midnight by default, Terminal and Cyberpunk by choice — picked per account, per device.

// 06 — The command brief

Dark ops on screen. Clean paper in hand.

"Save as PDF" flips the theme to a white, landscape, one-week-per-page handout — pure print CSS, ready for the morning brief.

squadpt.com · save as pdf
SquadPT printable brief — one squad's week across five columns on a single white landscape page

The shipped print output — one squad, one week, one page

And the same page hand-built in CSS — the mockup that started it

F·01

One click, no export wizard

The print stylesheet re-declares the theme in white — the browser's own PDF engine does the rest.

F·02

Landscape, one week per page

Formatted for how leadership actually reads it: a week at a glance, squad by squad.

F·03

Offline by design

No fonts to fetch, no trackers to block — the brief prints identically on any locked-down network.

// Capabilities

Replaces the spreadsheet. Scales with the formation.

01

Ten-field planning

Week grid, day view, an APEX focus category, and a uniform glance grid for the morning line-up — every squad, every day, structured.

02

Calendar without walls

Month view per squad, tabs for up to eight squads, unbounded month and year browsing — history reads later exactly as written.

03

Events & DONSAs, once

Entered at platoon or company level and painted in green on every matching date below. One checkbox flags a no-training day everywhere.

04

Templates & the brief

Day and workout templates stamp out whole weeks; one click prints a white landscape one-pager for leadership.

05

Three tiers

Standalone squads, platoons of up to eight squads, and companies linking three to eight platoons read-only — with company events and PT-day assignments.

06

Roles & grants

Member to owner, mirroring the formation — with month-scoped edit grants for handing off a planning cycle without handing off the keys.

07

Emailless security

Username and password only — no email on file, no government email, no CAC. Hashed, rotatable team codes and database-enforced row-level isolation.

08

iOS app, in beta

A Capacitor-built native app on TestFlight — same team, same plan, push notifications when it changes.

09

Private, free, yours

No ads, no tracking, no analytics — and your pick of Midnight, Terminal, or Cyberpunk themes. Free for squads; platoon and company tiers free during launch.

ReactTypeScriptViteSupabasePostgres RLSCapacitorPrint CSS