Project Overview

One page, plain language: what this platform is, who uses it, and how an event
runs from setup to hall of fame.
**Visual version with the full timeline and role tabs:
0** ยท Full spec: SRS ยท Step-by-step: WORKFLOWS/

What this is

The FLA Event & Awards Platform โ€” a complete system for running public-voted, AI-assessed award events:

  • 70% public votes + 30% board/judge score (weights configurable per event)
  • Admin veto โ€” absolute, audited, applies before or after results
  • AI-conducted applicant interviews with per-category random questions and instant marking
  • LinkedIn-verified voters, one reasoned vote each, verifiable receipts, hash-chained votes
  • Winner lock as a single transaction โ€” final standings, certificate numbers and

finalists can never drift out of sync

  • Ceremony-day tools โ€” stage screen, MC dashboard, award-team shields, self check-in
  • Everything audited โ€” every meaningful action recorded with actor, IP and metadata

Who uses it

RoleWhat they do
AdminBranding, events, approvals, vetoes, winner lock, system health
StaffDay-to-day: registrations, manual entry, comms, tickets, check-in
ApplicantApply โ†’ AI interview โ†’ track status & votes โ†’ share card
VoterLinkedIn sign-in โ†’ reasoned vote โ†’ receipt โ†’ verify
JudgeRubric review of assigned candidates (30% weight)
MCFull-screen ceremony control: slides, winner queue, call-ons
Award teamConfirms winners are present before announcement ("shield")
AuditorRead-only oversight of numbers and the audit log

The journey in 10 steps

  1. Event setup โ€” categories, question bank, branding, weights, toggles (all DB-driven)
  2. Registration opens โ€” visitor (QR ticket) / award applicant (form + photo) / guest of honor; nominations too
  3. AI interview โ€” randomized questions per category, answers marked, status โ†’ AI-scored
  4. Approval & screening โ€” staff approve; duplicate detection and waitlists enforced
  5. Public voting โ€” LinkedIn-verified, reason required, receipts, hash chain
  6. Judge review โ€” rubric scores normalized into the board weight
  7. Veto & integrity โ€” vetoes applied and audited; vote chain verified
  8. Winner lock โ€” one transaction: standings + cert numbers + finalists published
  9. Ceremony day โ€” stage screen, MC view, shields, self check-in
  10. After โ€” share cards, certificates, hall of fame, season report, audit export

How scoring works

final = 70% ร— normalized(public votes) + 30% ร— normalized(board rubric)
  • One person, one vote (per candidate or per event) โ€” duplicates blocked, rate-limited
  • A veto removes a candidate from winners and public results entirely
  • Results are a stored snapshot โ€” public pages and DB always agree

Under the hood

Plain PHP 8.3 (no framework) + MariaDB (29 idempotent migrations, transactions on every critical write) + AI gateway (MiniMax provider with a keyless mock mode) + GD share cards + file cache + PWA/web push. Verified by a 34-check surface suite and a 266-check end-to-end suite that exercises the entire lifecycle.

New in v3.4.0

  • Post-event feedback survey โ€” /survey (1โ€“5 ratings + comment for attendees of the latest finished event).
  • Printable name badges โ€” /badges (admin/MC/award-team; each badge shows name, category, certificate number, and personal /self-checkin?t=TOKEN link).
  • Data-retention jobs โ€” /admin/retention (roll up page views, archive old audit rows, clean old notifications).
  • One-click backup โ€” "Run backup now" button on /admin/system.
  • Transparency hub โ€” /about-scoring (detailed scoring, veto, hash-chain, lock explanation).