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.
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.
Scroll →
Ten fields per day
Focus, location, uniform, instructors, equipment, warm-up, workout, cool-down, AAR, notes — a real plan, not a sticky note.
Events enter once
Wednesday's fitness test was typed one time at platoon level — it landed on every squad's board in green.
DONSAs are loud
One checkbox flags the training holiday across every squad with a full-day banner — nobody plans PT on a holiday.
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.
Production UI, fictional seed data — BLACKJACK PLT
Squads are tabs
One to eight squads per platoon, renamable any time — plan history stays with the squad.
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.
No horizon limit
Month and year selectors browse anywhere — last year's plans read exactly as they were written.
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.

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

The platoon's event feed — one row here paints every board
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.
DONSA once, quiet everywhere
Flag a training holiday in one row and every squad's day goes dark — no accidental 0530 formation.
Squads start standalone
A single squad can run its own team, then link into a platoon later — history absorbed, nothing retyped.
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.

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

The access-request pipeline — every new team is approved by a human
Codes rotate, hashes rest
Rotating the join code invalidates the old one instantly; the server never stores the code itself, only its hash.
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.
Forgot your password?
The team admin resets it. That is the entire recovery surface — no reset emails to intercept.
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.

Day view — swipe between days, readable at 0530

Templates — save a day once, apply it any week
Templates do the typing
Save any day as a template — ruck day, track day, deck of cards — and stamp a week out in minutes.
iOS, in beta
A Capacitor-built native app on TestFlight — same account, same team, push notifications when the plan changes.
Three themes
Midnight by default, Terminal and Cyberpunk by choice — picked per account, per device.
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.
The shipped print output — one squad, one week, one page
Strength — trap-bar 5×5, sandbag carries
Endurance — 4-mile release run
AFT — record test, 0600 PT field
APEX — sprints ×10, hill repeats ×6
DONSA — no scheduled PT
And the same page hand-built in CSS — the mockup that started it
One click, no export wizard
The print stylesheet re-declares the theme in white — the browser's own PDF engine does the rest.
Landscape, one week per page
Formatted for how leadership actually reads it: a week at a glance, squad by squad.
Offline by design
No fonts to fetch, no trackers to block — the brief prints identically on any locked-down network.
Replaces the spreadsheet. Scales with the formation.
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.
Calendar without walls
Month view per squad, tabs for up to eight squads, unbounded month and year browsing — history reads later exactly as written.
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.
Templates & the brief
Day and workout templates stamp out whole weeks; one click prints a white landscape one-pager for leadership.
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.
Roles & grants
Member to owner, mirroring the formation — with month-scoped edit grants for handing off a planning cycle without handing off the keys.
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.
iOS app, in beta
A Capacitor-built native app on TestFlight — same team, same plan, push notifications when it changes.
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.