Messaging
UltiStackr’s messaging system is built for speed. Powered by WebSockets through Supabase Realtime, messages are delivered the instant they’re sent — no refreshing, no waiting, no “did you get my text?” Whether you’re coordinating a last-minute field change or breaking down a play between points, your team’s communication stays live and in sync.
Sending Messages
Sending a message in UltiStackr works the way you’d expect:
- Open a channel or group DM from the Communication tab.
- Type your message in the input field at the bottom.
- Tap Send (or hit Enter on the web).
Your message appears instantly for everyone in the channel. No delays, no pull-to-refresh required.
Messages are delivered in real time via WebSockets. A stable internet connection is required to send and receive messages.
Real-Time Delivery
UltiStackr uses Supabase Realtime under the hood to push messages to every connected client the moment they’re created. Here’s what that means for your team:
- Instant delivery — Messages appear in the channel within milliseconds of being sent
- Cross-device sync — Send a message from your phone and see it appear on the web app simultaneously
- No polling — The app doesn’t repeatedly check for new messages; updates are pushed directly to your device
Editing Messages
Sent a message with a typo? Called your cutter a “handler” by accident? You can edit your own messages at any time.
How to Edit
- Long-press (mobile) or hover over (web) the message you want to edit.
- Tap Edit from the action menu.
- Make your changes in the text field.
- Tap Save to confirm.
Edited messages display a small (edited) label so teammates know the content was updated after it was originally sent.
You can only edit your own messages. Coaches and team owners cannot edit messages sent by other members.
Deleting Messages
Need to remove a message entirely? UltiStackr supports soft-delete, which means the message is removed from view but the record is preserved on the backend for moderation purposes.
How to Delete
- Long-press (mobile) or hover over (web) the message you want to delete.
- Tap Delete from the action menu.
- Confirm the deletion when prompted.
Once deleted, the message is replaced with a “This message was deleted” placeholder visible to all channel members.
Deleted messages use a soft-delete approach — the message content is removed from view, but a record is retained for team safety and moderation. This is not visible to regular team members.
Read Receipts
UltiStackr tracks read status so you always know whether your message has been seen. This is especially useful for time-sensitive updates like practice cancellations or game-day logistics.
How Read Receipts Work
- When you open a channel, UltiStackr automatically records a last-read timestamp for your account.
- Other members in the channel can see that you’ve read up to a certain point.
- Read status is tracked via a last-read timestamp per channel, so you can see whether teammates have caught up to the latest messages.
Last-Read Tracking
Each user’s last-read position is stored per channel. When you return to a channel, the app scrolls you to the point where you left off, so you never have to hunt for where the new messages begin.
Unread Message Counts
Keeping up with multiple channels and group DMs is easy thanks to unread counts. UltiStackr calculates the number of new messages in each channel since you last read it and displays a badge on the channel list.
Where You’ll See Unread Counts
- Channel list — Each channel and group DM shows a badge with the number of unread messages
- Communication tab — The tab itself shows a combined unread count across all channels
- Team navigation — If you’re on a different tab, you’ll see a notification indicator on the Communication icon
Unread counts reset automatically when you open a channel and scroll through the new messages. No need to manually mark anything as read.
Catching Up After Time Away
If you’ve been away from the app for a while (tournament weekend recovery, we get it), you can quickly scan your channel list for unread badges and prioritize the channels with the most new activity. The Announcements channel is always a good place to start — that’s where your coaches post the must-read updates.
Messaging Best Practices
- Use channels for team-wide updates, Group DMs for small-group coordination — Keep the signal-to-noise ratio high in your main channels.
- Edit rather than re-send — Spotted a typo? Edit the message instead of posting a correction. It keeps the conversation cleaner.
- Check your unreads — Those badge counts are there for a reason. A quick scan of unread channels before practice ensures you’re not the one asking “wait, what field are we on?”
- Leverage read receipts — If you’ve posted something important in Announcements and notice low read counts, follow up in General or tag the team.
Next up: Polls — put team decisions to a vote.