Ulti-Mate
Get started free
All posts

· Victor Mao · 4 min read

Feature Friday #2: updated pages, rebuilt settings, 42 fixes

This week, Ulti-Mate shipped: updated detail pages for events, locations, activities, and film, rebuilt Preferences, photo picking, and Billing, plus 42 fixes.

This week (July 31 - August 6) we shipped: an updated page for every event, location, activity, and film, three settings screens rebuilt from scratch, and 42 smaller fixes.

Detail pages

The updated event page: type and status chips over the title, a details grid holding when, where, who is invited and who can see it, and a rail on the right with your RSVP, the linked practice plan, and comments
The event page - details down the middle, the things you check in the rail.

Events, locations, activities, and film each got an updated page, and all four are built the same way now: details down the middle, a rail on the right for what you check rather than read - your RSVP, the linked plan, comments. Most fields edit where they sit, so fixing a start time you mistyped is a click and a type.

The event page is a big update. Next to the RSVP and attendance numbers it spells out both halves of an event's audience in plain words: who's invited, and who can see it. Events is still in beta, so let us know how the feature can improve!

Updated preferences modal

The old preferences modal: eight settings stacked as full-width segmented tracks, running the height of the screen
Before: every setting a full-width track, top to bottom.
The new preferences modal: settings grouped under Appearance, Defaults, and Show and hide, each with its label on the left and a switch or segmented control on the right
After: labeled groups, label left, control right.

Preferences is grouped into labeled sections now - Appearance, Defaults, Show and hide - with each setting named on the left and its control on the right. The on/off ones became switches. Eight settings used to stack as full-width blocks running the height of the screen; the same list is about half that now.

Updated profile photo picker

The old profile photo field: a radio for name initials, a radio for the default icon, and a separate Upload a photo button below them
Before: your options spelled out as radios, with upload parked underneath.
The new profile photo field: one row showing the current photo, its source, and an Upload button, with the source tiles opened below it
After: one row, with the sources behind Change.

Setting a profile photo or a team logo is one row now: the picture you're using, where it came from, and Upload. The other sources - your Google photo, your initials, the default icon - sit behind Change, so the common case costs a row rather than a list of radio buttons. Drag a file onto the row or paste one from your clipboard, then crop and reposition it before it goes up. Same picker on both.

Updated billing tab

The old Billing tab told a paying team almost nothing - no amount, no renewal date, no sign of where the receipts land - and then showed them the Free-vs-Team cards from the marketing site, which is a strange thing to show someone who already paid. It leads with the facts now: your next charge and when it lands, who receipts go to, and the one action your account actually calls for. The banner across the top only shows up when there's a decision due.

Your card and your invoices still live in Stripe, one click behind Manage billing, which now deep-links to the page you were heading for. A second, worse copy in here wouldn't help anybody.

Smaller fixes

  • Every field in the app got shorter, and labels, spacing, and error text come from one recipe rather than four that had drifted apart. Errors look like errors now.
  • On a phone the keyboard opens on the right layout, autofill fills, and tapping an input no longer zooms the page.
  • Players can see the Roster. They used to land on "Roster restricted" and see nobody - themselves included, which made the page where you set your jersey number unreachable.
  • Practice plans and your home page show an event's times on the event's own clock. That only bites on away trips, exactly when nobody wants to do timezone math.
  • The blog has tag filtering, so you can read the Feature Fridays on their own.
  • A security pass over the backend tightened a set of role checks, closed a case where a film could name an event its viewer wasn't invited to, and moved two dependencies past published advisories.
  • Plus more than 40 other fixes across the same screens - the full list is in #changelog in the Discord.

What we're working on next

Tryouts is the next main feature: a shared workspace for running sessions, evaluating people together, and building the roster out of it. We'd like it in your hands before college seasons start.

Tell us what your team needs - the Discord or feedback@ulti-mate.app.

— Victor