Roster, ORBAT, missions, attendance, and SOPs — one dashboard your whole chain of command actually uses, instead of a spreadsheet nobody opens and a Discord thread nobody can find.
No install. No credit card. Explore a full demo unit right now.
SITREPPRIORITY: FLASH
FROM:SITREP SUITE
TO:UNIT COMMAND
DTG:— —
SUBJ:ROSTER CHAOS, RESOLVED
Every operator, mission, and SOP tracked in one place. Role-based access for Command, NCO, and Members. Full audit log on every change. Status: operational.
Mission
Everything command needs, nothing they don't.
Built around how milsim units and gaming clans actually operate — not a generic team wiki with the labels swapped out.
👥
Roster
Every operator, callsign to loadout, always in sync across command's devices.
Filter and break down by team or MOS
Certifications tracked per operator, surfaced right in the roster table
🗂️
ORBAT
Your order of battle, built the way you actually organize.
Drag-to-reorder nesting at any depth — squads inside platoons inside companies
Cards or Chart view, whichever your command staff prefers
A dedicated lead assigned to every team, plus one overall unit commander
🗺️
Missions & AARs
Plan the operation, then file what actually happened.
Attendees marked per mission feed straight into Attendance — no double entry
AARs live next to the mission they're for, not buried in a Discord thread
Posts automatically to your unit's Discord via dedicated mission/AAR webhooks
📋
Attendance
Calculated, not tallied by hand.
Pulled automatically from who was marked present on completed missions and training
Per-operator attendance rate, visible at a glance on the roster
No spreadsheet, no arguing about the numbers before a promotion board
📘
SOPs & Training
Standard operating procedures that stay current and findable.
Organized by category, with a "recently updated" widget on the dashboard
Searchable instead of scattered across pinned Discord messages
Filterable so operators can find the one SOP they need fast
🎖️
Command Tools
The controls command staff actually needs, nothing they don't.
Role-based access for Command, NCO, and Members
Full audit log — every change, before and after, who and when
Dedicated UCMJ records and blacklist tracking
📥
Bulk roster import
Already have a roster spreadsheet? Bring it with you.
Upload an Excel file — headers like Callsign, Rank, MOS, Squad, and Status get matched automatically
Rank and MOS are fuzzy-matched to your unit's actual dropdown lists; anything uncertain is flagged, not guessed
New squad names get auto-registered so nobody ends up orphaned
Full preview before anything is committed to the roster
📥
SOP PDF import
Turn an existing PDF into an SOP entry in seconds.
Upload a PDF, get a suggested title pulled from the filename
Pick a category and preview the extracted text before saving
Text only — tables, images, and formatting from the original PDF don't carry over.
🪖
Branches
For units that split into separate elements — Army, Navy, Air Wing — instead of running as one flat roster.
Each branch gets its own squads, ORBAT, and commander
Personnel, ORBAT, and UCMJ records all scope to a branch once you've set one up
🎨
Make it look like your unit
Command can reskin the whole dashboard to match your unit's identity — no code, no redeploy, just the Dev Tools panel.
🖼️
Theme presets
Pick a built-in preset, or save your own custom palette to reuse later.
🖌️
Custom colors
Every color in the app is adjustable. Light mode is generated automatically from your choices — no separate palette to manage.
🛡️
Unit logo
Upload your own badge and it replaces the default everywhere — browser tab, login screen, and sidebar.
📣
Site-wide banners
Post persistent announcements at the top of every page for everyone signed in. They stay up until you turn them off.
+ Much more
New capabilities ship regularly. This is what's live today, not the whole roadmap.
Situation
Your unit already has the data. It's just scattered.
Roster in a spreadsheet. ORBAT in a Discord thread from three months ago. Attendance nobody tracks until someone needs it for a promotion board. Sitrep Suite pulls it into one dashboard that updates itself as your unit operates — so command spends time leading, not reconciling.
roster.sync42 operators, live
orbat.buildnested teams, drag to reorder
attendanceauto-calculated from missions
accesscommand / nco / member
audit_logevery change, before → after
Pricing
Sized to your unit, not the other way around.
A hosted dashboard set up for your unit specifically, with support from the people who built it.
Sitrep Suite is developed and maintained by one person: Maroon. It grew out of the 12th SFG Dashboard, a full-featured roster and command management tool originally built for a single Arma MilSim unit. Turning it into a product came from a simple observation. Most small, volunteer-run gaming units, usually somewhere between 20 and 150 members, end up running their entire operation on a patchwork of Discord channels, spreadsheets, and bots that don't talk to each other. Sitrep Suite replaces that patchwork with a single, professional, role-based command dashboard that unit leadership can stand up in a matter of days, not months.
I hold a degree in Data and Cybersecurity and have spent years in command positions across a number of units, and that's the whole premise behind Sitrep Suite: it's built by someone who has actually sat in the command seat, for the people currently sitting in it. Because Sitrep Suite is a one-person operation, every feature request, support message, and bug report goes directly to me, the person who wrote the code, not to a random ticket queue and someone who isn't sure.
Data & CybersecurityYears in unit commandSole developer & maintainer
// Maroon
⚠ DEMO VERSION — Data wipes on sign-out, or automatically after 1 hour. Nothing entered here is saved permanently.
TIER:
Discord: @UhOhPhotography, or @SitrepSuite
Email: sitrepsuite.dev@gmail.com
Use:
Username: test
Password: testing
Sitrep Suite
Sign in with the credentials your squad leader issued you.
Accounts are created by command staff. Contact your squad lead if you don't have one yet.
⏳
Access Pending
Your account exists but hasn't been assigned a role yet. Ask command to set your role in the roster's user list.
🏠Dashboard
📣Announcements
👥Roster
🗺️Missions & AARs
🗂️ORBAT
📋Attendance
📘SOPs & Training
🪪Unit Profile
🪖Squad & Battalion Org
🛡️Command Staff
⚠️Dev Tools
📡Command Uplink
Sitrep Suite
Command Suite
Unit
LOADING…
⚠️Someone has synced a newer version of this app () than the copy you're running (). Get the latest HTML file from command before making changes — an outdated copy can save data in a way newer copies don't expect.
GOOD DAY, OPERATOR
Situation overview
Starting…
--:--:--
-
👥Active roster
-
active operators
🗺️Upcoming
-
missions/events
📋Attendance
-
unit average
📝Pending AARs
-
need filing
✅Total ops done
-
missions completed
🗺️Upcoming missions
Mission
Type
Date
Status
👥Roster by team
🎖️Roster by MOS
📐Org readiness
📅Average missions / month
🏆Best team attendance
📘Recently updated SOPs
📣Latest announcements
Announcements
Roster
Branch
Callsign
Name
Rank
MOS
Team
Status
Access
Role
Certifications
Joined
Missions & AARs
Mission
Type
Date
Status
OIC
AAR
ORBAT
Attendance
Attendance is calculated from operators marked present on completed missions and training events. Mark attendees when you edit a mission.
Callsign
Rank
Team
Attended
Rate
SOPs & Training
Unit Profile
Squad & Battalion Organization
🎖️Branches
Branches split the unit into separate elements (e.g. Army / Navy / Air Wing). Once you have branches, personnel, ORBAT, and UCMJ records can all be scoped to one.
Each branch has its own squads, ORBAT, and commander.
Branch
Personnel
🎓MOS List
The MOS codes available when adding or editing an operator. Renaming a code's label updates it everywhere it's shown; changing the code itself does not update operators already assigned to the old code.
Code
Label
🎗️Ranks
Rank structures can differ per branch — an Army-styled branch and a Navy-styled branch don't have to share the same list. Pick which one you're editing below.
Abbr.
Full name
🪖Teams / Squads
Manage the teams/squads used across Roster and ORBAT. Renaming a team updates it everywhere automatically — rosters, leads, and ORBAT groupings all follow the new name.
Team
Active personnel
Branch
Nested under
🗂️Custom Groups
Custom groups (like "ODA 1") show up here automatically the first time you use one as a team's parent on the ORBAT page. Nest one group under another below.
Group
Branch
Nested under
🏷️Field labels
Up to 3 custom fields your unit can track per operator — e.g. Gamertag, SteamID, Discord handle. Leave a label blank to leave that slot unused; it'll stay hidden from the Roster and the values table below until named.
📝Field values
Fill in each operator's values here. These also show as read-only columns on the Roster.
Command Staff
⚖️UCMJ Records
Branch
Operator
Date
Article
Discord
Arma
Unit
Appealable
🚫Blacklisted
Discord
Discord ID
Xbox Gamertag
Date
Appealable
📖Command Profiles
Callsign
Name
Rank
Team
Dev Tools
🔑Create user login
Creates a real Firebase login and assigns its role(s) in one step — this won't sign you out of your own session. The password only ever shows here once; copy it down before handing it off.
🔗Link existing account to roster
For accounts already created (in-app or via the Firebase console), paste their User UID from Authentication → Users and pick who they are on the roster. This is what makes their callsign, rank, and MOS show up in the sidebar instead of their raw username.
👥Manage logins
Every account with a login, and what they're allowed to see. Loads fresh from Firebase each time you open this tab.
Account
Roles
Linked roster entry
Loading…
👁️Live preview
Tag labelActiveOverdueMuted text
🧩Module visibility
Hide pages your unit doesn't use — they disappear from the sidebar for everyone, regardless of role. Dashboard and Dev Tools can't be hidden, so there's always a way back in.
🚪Landing page
The page everyone lands on right after signing in.
📊Dashboard widgets
Choose which sections show up on the Dashboard.
🎨Presets
🔤Site Font
Applies across the whole site — headings and body text both switch together.
🛡️Unit logo
Replaces the badge on the browser tab, login screen, and sidebar everywhere in the app. PNG with a transparent background works best.
🌓Theme mode
Light mode is generated automatically from your color choices below — same hues, just inverted for a bright background. You don't set light and dark separately.
🖌️Custom colors
📣Site-wide banners
Banners appear at the top of every page for everyone signed in, right below the update-available warning. They stay up until you turn them off — nothing expires automatically.
🗒️Audit Log
A running record of changes made across the app — who did what, and when. Keeps the most recent 500 entries.
When
User
Category
Action
🔓Login Tracking
Records every explicit sign-in (typing a username/password and hitting Sign in) — not just reopening the app with a session that's still active. Keeps the most recent 500 entries.
When
Username
🟢Active Users
Based on a heartbeat each signed-in device sends roughly every 45 seconds. "Active" means seen in the last 3 minutes, "Away" means seen within the last hour, and "Offline" means it's been over an hour. If someone's logged in on more than one device, they show as one row — a "(N devices)" tag appears next to their name, and their status reflects whichever device was seen most recently.
—
User
Last seen
Status
Command Uplink
Restricted status channel — visible only to the Maroon role.
📡Discord webhook
Paste a Discord channel webhook URL below. This posts a live status update — site status and how many people are currently active — either on demand or automatically on an interval while this page stays open in a browser tab.
⚠️ "Auto-post" only runs while a Maroon-role account has this page open in a browser tab — there's no background server in this app to post while everyone's logged out. For true 24/7 posting you'd need a small scheduled Cloud Function instead; ask if you want that built out.