The Affiliate Sales Scoreboard widget

Featurekamo-internal
Shipped
August 24, 2026 at 11:47 PM UTC
Author
kamo
Commit
babd712

One grid column wide and two rows tall: the ten people in the organisation bringing in the most through their tracking links, over today, this month, this year or all time, opening on visitors this month. The reorder is the feature. Every other way of showing four metrics over four windows is sixteen separate lists; this is one list that rearranges itself. Rows are keyed by member and carry a layout animation, so switching category slides the same people past each other rather than blanking the pane — and the hook keeps every board it has fetched, so the press that triggers that animation has data to animate to on the same frame. The selectors are stored against the member's PROFILE, not localStorage, so the board someone set up at their desk is the board they get on their laptop. Both readers downgrade an unrecognised value to the default rather than refusing it — the server applies the identical rule and echoes back what it used, so a preference written by an older build can never leave a member on a blank pane. A member outside the top ten gets their own line pinned below the list, and a member with nothing yet gets it at rank zero. A board that can only say "you are not on it" is the one thing a scoreboard must not do to the people it exists to motivate. Also here, because it is the same problem from the other end: a "preview" control on the Tracking Codes tab that opens a link WITHOUT counting the visit. Checking where your own link lands is the most common first visit any code ever gets, and counting it puts the member's own clicks into the record they are measured on. buildTrackingPreviewLink is the real link plus the marker the marketing site reads — a cross-repo contract, so the test pins the parameter name.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing