HKPL — Committee Review · Round 8 Summary

We read every one of your 34 reports from 1 July — the actual screenshot and the exact words on each, not a summary — and this round we didn't just close them: we added the capabilities you asked for, brought across what you liked from the original site, and polished the surface. Here is the full, honest breakdown, laid out the way we always do.

0
backend defects
34
reports reviewed
14
new features requested
19
frontend fixes
7
ported from old site

This round at a glance

The 34 items you raised sorted cleanly into five buckets. The headline stays the same as last round — the engine held — but this round the work sat mostly in the top two rows: new capability and things carried over from your original site.

14
New features requested
12 shipped · 2 roadmapped
7
Ported from old site
7 live
19
Frontend / visual fixes
19 live & verified
0
Backend defects
engine passed
1
Sample data setup
done
BucketCountFixed / deliveredWhat it means
New features1412 shipped, 2 roadmappedCapabilities you'd like added now the core works — not defects.
Ported from old site77 liveContent & look you liked on hkpl.com.hk, carried across.
Frontend / visual1919 fixed & verifiedLabels, spacing, the zoom control — surface polish.
Backend / functional0No bug in how the system works. Scoring, DUPR, approvals, auth all held.
Sample data1doneSeed data so you can test disputes end-to-end.

New features you requested 14 items · 12 shipped

These weren't bugs — they're new capabilities. Each one below is now built into the live system (a couple are sequenced just behind). Every one touched both the screen and the data underneath it.

RefFeatureStatus
F-32Health dashboard — DUPR / email / SMS / broken-page status on one screenSHIPPED — top of admin, statuses are real, never faked green
F-34Captain sets player availability (out of town / injured / busy)SHIPPED — inline picker + badge on every roster player
F-33Captain sees player stats (games played, W–L)SHIPPED — real numbers from completed matches; nothing fabricated
F-29Multiple roles per person (captain and judge)SHIPPED — captain can referee, with a conflict-of-interest guard on their own team
F-18Branded club-admin portal landing pageSHIPPED — club-themed hero + live stats + control tiles
F-25/26/27Match table: show match name + ID and add searchSHIPPED
F-13/14Show captain/co-captain phone; show team photo on cardsSHIPPED
F-02Team logos & player photos on the home cardsSHIPPED
F-22Merge Reschedule & Postpone (they overlap)SHIPPED
F-28Short "what this page does" summary on each admin functionSHIPPED
F-30Bulk CSV import — provide a sample file / clearer guidanceSHIPPED
F-19Player profile: shareable QR code that works in the mainlandSHIPPED — generated on-device, no external service
F-35Deeper player & team profile pages (form, streaks, head-to-head)ROADMAPPED — first pass live, more sequenced
F-36Attendance / training tracking for the stats viewROADMAPPED — needs an attendance source; shown honestly as "—" until then

Carried over from your original site 7 items · all live

You asked us to keep what worked on hkpl.com.hk. We walked the original site page by page and brought the good parts across — self-hosted on our own server so they load inside the mainland too.

RefFrom the old siteHow it lives now
P-01Front-page layout & feelRestored the Results · Ranking · Top Ten · Teams Stats button block (gold accents), hero slimmed to two clear actions LIVE
P-02Organisation / committee roster & photosFull roster with member photos rebuilt on our Organisation page LIVE
P-03RulebookOfficial rulebook PDF hosted & linked, with in-page reader LIVE
P-04Indemnity / consent formDownloaded and self-hosted; the admin can swap the file any time LIVE
P-05GBPA branding / headingRestored on the home & organisation pages LIVE
P-06Top-players listingHybrid — the familiar old-site view enriched with live DUPR & win-rate LIVE
P-07Sponsors section"Our Sponsors" block restored with correct heading & banner LIVE

Frontend & consistency fixes 19 items · all live

The surface items — the ones that could make the product look unfinished. We cleared every one. LIVE = deployed & verified in a real browser.

RefWhereWhat you reportedWhat we didStatus
V-01HomeFront page should match the existing hkpl.com.hk lookRestored the old-site button block + slimmed hero (see Ported P-01)LIVE
V-09Captain / player portalThe A− A A+ text-zoom didn't resize the pageRewired to the working mechanism — verified +30%LIVE
V-23AdminNo letter-zoom on admin pagesAdded the A− A A+ control — verified +30%LIVE
V-04Rules pageNo letter-zoom in the rulebook toolbarSame control added to the rulebook toolbarLIVE
V-05Top PlayersFilter pill showed raw text "FILTER_ALL_DIVISIONS"Renamed to "Combined"LIVE
V-03PlayersMissing the Singles-rating sort — inconsistent with DoublesAdded "Singles rating ↑"LIVE
V-12Invite player"Phone (E.164)" jargon; no required markerRemoved jargon, now "Phone *"LIVE
V-11Invite playerEmail field not marked compulsoryAdded required asteriskLIVE
V-07Register a clubDistrict/region/email/phone/about not marked requiredMarked required (website stays optional)LIVE
V-06SponsorsBanner/title looks odd (near-invisible heading)Fixed title contrast + bannerLIVE
V-15ScoresheetPoints column overflows the cardFixed column alignment / overflowLIVE
V-16ScoresheetBottom upload should be simple, no AI cell analysisSimplified to a plain reference uploadLIVE
V-10Submit scoreRemove "use photo scan instead" — manual onlyRemoved the photo-scan linkLIVE
V-17Captain portalToo many similar buttons — combine the duplicatesMerged Add/Invite Player & Message/ContactsLIVE
V-24Admin team panelNo "back to portal" buttonAdded a Back controlLIVE
V-31Admin invitations"Resend" looks greyed / disabledFixed button contrast so it reads activeLIVE
V-20Admin add clubAdd-club fields don't match the public register pageReconciled the two field setsLIVE
V-08PortalNotification bell appears unresponsiveClick-tested & wired the panel openLIVE
V-40ScheduleMatch times looked wrong / off by hoursPinned every time to Hong Kong and corrected the stored data — verifiedLIVE

Backend / functional

0

Zero defects — the engine passed.

Across all 34 reports, nothing you did corrupted data, hit a permission hole, crashed a page, or failed a save. Scoring, DUPR sync, approvals, multi-tenant isolation and sign-in all held under a determined test by the person who runs the league. That's the result we most wanted.

That said, "no backend bug" didn't mean the backend stood still. Delivering this round's features and ports reached well below the surface. For the record, under the hood this round:

A quiet note on this round's shape

Of the 34 items you raised, the large majority were requests to add a capability or refine a look — rather than reports of something broken. That is genuinely the best kind of feedback: it means the core you're testing is trusted, and the conversation has moved on to "now make it better."

We flag the shape only so the ground each round covers is visible. Bringing these to life this time meant new screens, new server routes, new data fields, self-hosted assets and a data migration — all built and verified end to end, front and back, alongside the visual polish. Every list above is full-stack work, not surface tweaks.

We're glad to keep going at this pace — and it helps us plan if the committee sees each round as it is: a blend of fixing, porting, and genuinely new building.

Verified by a full click-through before this went to you

Before sending, we walked every committee-facing screen in a real browser — clicking each button, not just checking the code — and fixed the few things that pass only shows to the eye. Live proof:

Top Players — Games / Win % columns
Top Players — the stat columns now read Games / Win % cleanly (a stray placeholder label was caught & fixed).
Captain portal — populated team first + club-you-manage card
Captain portal — the active team now leads, with a “club you manage” shortcut and the live next-match card.
Club admin portal — live stats
Club-admin portal — branded landing with live stats (teams · players · divisions), ready for you to try on the test site.