🚀 Cadre: July Recap
Hey all. Quick rundown of what I shipped in July. It was a busy month: 90+ commits, and honestly it has been a fun ride! Here's the breakdown.
🖼️ Annotate: mark up the map with images
This one I'm pretty happy with: you can now attach image annotations directly to markers and strongpoints on the map. Drop a screenshot on a garrison, a satellite view on a strongpoint, anything that helps the squad get the plan faster. Everything you attach gets filed into your Pro gallery automatically so you're not digging for the same image twice. Also fixed an annoying iOS bug where long-pressing the canvas would trigger the phone's native “Save Image” instead of letting you annotate, and tightened up squad badges: renaming and tapping them is more precise now.


💳 Cadre Pro is cheaper now
I lowered the price: 9€ / month or 99€ annually, toggle between them whenever suits your clan. Honestly, the old price was too high a bar for what people were willing to commit to before trying it out, so I brought it down to make Pro an easier yes. Worth saying plainly: every euro from subscriptions goes straight back into building Cadre. There's no other revenue behind this. Pro is what funds the next feature, the server bill, the time I spend on this. If you're subscribed, thank you, you're literally funding the roadmap.
🤝 Coalition matches
For anyone who hasn't run into this yet: a coalition match lets your clan host a match while one or more partner clans fill it with their own players, built for joint league matches or scrims where two clans need to field one roster together. You control what the partner sees on the invite (just a signup link, a read-only view inside their own Cadre, or full posting rights to their own Discord), which classes they can sign up for, and an optional target for how many players you need from them. Their signups flow into your lineup automatically, and if you tweak the match afterward, their side updates on its own.
This month I added a coalition status summary to the Matches list and Edit Match so you can see who's confirmed without digging, and cleaned up a couple of annoying edge cases: stale invite data hanging around, and a signup-timing race that occasionally caused weirdness. It's still tagged Beta, so if something feels off, ping me.
🤖 Discord bot: more trustworthy
The bot now proactively checks its own permissions and warns you before a signup post would quietly fail, instead of leaving you wondering why nothing happened. When a publish does fail, you'll get an actual reason. Temp signup roles are now scoped per match instead of leaking across matches, and I wrote up the 2FA edge case that can block role creation so it's not a mystery next time. On top of that, a bunch of smaller improvements landed too (too many to list individually, but you'll feel it).
🗺️ Match forms and briefs, cleaner
Reworked the match form with collapsible sections and a timing timeline. Much faster to fill out and scan. Added a server field to matches (shows up in the brief and the shared link), plus a reminder banner that nudges you if a brief's still unpublished less than 48 hours out.
🛠️ Under the hood
A good chunk of July was invisible groundwork: a real design system baseline, accessibility fixes, and stability and futureproofing work.