Site Changelog
v4.6
Dashboard & Nav Polish
April 1, 2026
- Amount Raised by Streamer table now pulls totals directly from Tiltify sub-campaigns API — values are accurate regardless of how many donations have been received
- Unique Donors and Donations columns now sourced from a paginated Tiltify donations lookup rather than the local feed file
- Watch page: stream embed placeholder now visible before the event starts; title hides automatically when the stream goes live
- Watch page: Now Streaming label and Total Raised moved inline with action buttons for a more compact layout
- Nav: Wheel moved to sit next to Auctions for quicker access
v4.5
Donation Bar Streamer Mode
April 1, 2026
- Donation bar overlay now accepts a ?streamer= URL parameter — personalises the overlay for each streamer
- Right-side total rotates every 10 seconds between the global campaign total and the amount raised by the streamer's own campaign
- Progress bar added above the donation bar showing the streamer's personal raised vs. goal — includes 10% interval markers and a live percentage label at the fill edge
- OBS source height automatically expands to 100px when the streamer parameter is active
- Warning banner shown inside the overlay if the ?streamer= parameter is missing or still set to the placeholder value
- Streamer Tools page updated with dimensions, parameter documentation, and updated copy URLs
v4.4
Site Polish & Auction Integration
March 26, 2026
- Homepage copy corrected to "fourth consecutive year"
- Footer Ko-fi support link moved to its own line below Arkonen.Art credit
- Streamer List removed from public nav (page still accessible at /streamer-list)
- CORS header added to data/streamers.php JSON endpoint — scoped to auction.charitystreamathon.com
v4.3
Campaign Audit Improvements
March 25, 2026
- Fixed Tiltify subcampaign pagination — was stopping after 10 results; now uses metadata.after cursor to fetch all pages
- All 16 subcampaigns now correctly retrieved (previously only 10 were shown)
- Added in-row Edit URL button to campaign audit tool — click to update a streamer's Tiltify URL directly from the audit table
- URL edits write to data/streamers.php server-side and reflect immediately without a page reload
v4.2
OBS Carousel Crossfade Fix
March 24, 2026
- Fixed carousel fade-to-transparent bug in all OBS overlay carousels (streamers, sponsors, milestones — both vertical and horizontal variants)
- Replaced CSS opacity class transitions with stacked z-index crossfade — incoming slide fades in on top while outgoing stays opaque underneath, eliminating the transparent flash on black/chroma backgrounds
v4.1
Hobby Armor Sponsor
March 17, 2026
- Added Hobby Armor (hobbyarmor.com) as a 2026 event sponsor
- Sponsor card added to the Sponsors page with logo and description
- Hobby Armor added to the vertical and horizontal sponsor carousel OBS overlays
v4.0
Streamer Tools & Slide Generator
March 16, 2026
- Media Kit page replaced by Streamer Tools (/streamer-tools) — all overlay tools in one place
- Added Live Overlay Tools section with OBS browser source URLs, preview images, and dimensions for all carousels
- Added PHP GD server-side slide card generator — select a streamer and download a PNG overlay card
- Slide generator supports horizontal (640×100) and vertical (480×480) variants
- Slide cards feature Anton font, avatar circle, type label, yellow bar, and simulated text shadow
- Header banner image resized to 75% width and centered
- Milestone overlay images (10k–150k PNG/WebP) added
v3.9
OBS Carousel Overlays
March 15, 2026
- Added streamer carousel overlay (stream_assets/streamers/) — 480×480 vertical PHP browser source for OBS
- Carousel features avatar circle, Featured/Supporting type label, Anton font, star badge, auto-fit name, and yellow info bar
- Added horizontal streamer carousel variant (640×100) for banner-style OBS layouts
- Added sponsor carousel overlay (640×250) — sponsor logo, name, and Official Sponsor label with gradient panel
- Added milestone carousel overlay — vertical and horizontal variants, milestone goal images
- St. Jude and Twitch logos cached locally; streamer avatars pulled from avatar proxy
v3.8
Donation Alert System
March 14, 2026
- Added per-streamer OBS donation alert overlay (stream_assets/overlay/donation-alert.php)
- Added Alert Builder UI — configure colours, fonts, media, SFX, and layout per streamer
- Klipy GIF search integrated into the alert builder media section
- SFX audio library with volume control; selected sound plays during alert preview
- Crash-in and explode-out animations; alert mirrors donation bar tier effects
- Simulate mode — fire a test donation without live Tiltify events to preview the alert
- Per-element font size controls, enable/disable tier effects toggle, max donation amount filter
- GIF content disclaimer added to builder
v3.7
Tiltify Webhook & Donation Bar
March 13, 2026
- Added Tiltify webhook receiver (api/webhook.php) — HMAC-verified, writes live donation feed to disk
- Added OBS donation bar overlay (stream_assets/overlay/donation-bar.php) — canvas-based, real-time
- 10-tier colour system with escalating canvas effects: confetti, coins, bloom, wobble, glitch
- Slot shift animations, per-tier glow, and indefinite shake at tier 10
- Total raised displayed on bar; Silkscreen pixel font for amounts
- Easter eggs: 69/NICE bubble, 420/blaze smoke cloud, $150k+ hype mode
- Goal label swaps to show target at $150k
v3.6
Donate Page & Site Polish
March 12, 2026
- Donate page rebuilt with card layout — matches streamer list style
- Each donate card shows stream timeslot, campaign goal, and a live Goal Progress bar
- Added Supporting Streamers section to the donate page
- Donate button text colour changed to white for better contrast
- Updated Tiltify campaign links for 6 streamers
- Contact page rebuilt using Formspree — sponsor email address removed from HTML source
- Donate Product page: replaced email link with contact form button
- Header logo hidden on mobile screens under 600px wide
- Banner replaced with higher-quality version (2224×366 WebP)
- Schedule page graphic updated to latest 2026 version; image now opens in a lightbox on click
- Replaced Google Docs embeds with self-hosted PDFs on instruction pages
v3.5
Avatar Proxy Hardening
March 12, 2026
- Twitch page scrape added as primary avatar source — unavatar.io demoted to fallback
- Avatar cache moved from /tmp to project cache/avatars/ for persistence across deploys
- Cache files converted to WebP to reduce disk usage
- Fixed Cloudflare caching broken/empty avatar responses
- Fixed avatar proxy breaking under X-Content-Type-Options: nosniff
- Added debug mode to avatar proxy (?user=X&debug=1) for troubleshooting
- Added one-time cache warmer script to pre-populate all streamer avatars on deploy
- Corrected several streamer names and Twitch URLs (JIJIPAN, oTHUMPYo125o, and others)
v3.3
Campaign Audit Tool
March 12, 2026
- Added internal campaign audit page — lists all sub-campaigns with streamer assignments
- Bcrypt password authentication gates access to the audit tool
- Add-new streamer flow and featured/supporting assignment built into audit UI
v3.2
Avatars on Donate & Schedule
March 11, 2026
- Donate Money page: Twitch avatar now shown beside each streamer name — uses server-side avatar proxy with initials fallback; disabled Donate buttons now greyed out
- Schedule page: Twitch avatar shown in the streamer column of each table row
- Schedule page: single table split into per-day sections (Friday Apr 10 through Sunday Apr 19) with a labelled heading above each
v3.1
Avatar Proxy
March 11, 2026
- Added server-side avatar proxy (api/avatar.php) — fetches Twitch profile pictures via unavatar.io server-side and caches to disk for 7 days
- Fixes streamer card avatars failing to load due to browser rate-limiting 40 parallel requests to unavatar.io
- Returns 404 on fetch failure so onerror fallback (streamer initials) still displays correctly
v3.0
Tiltify Instructions
March 11, 2026
- Replaced PDF download card on Tiltify Instructions page with embedded Google Doc (same pattern as Wheel Instructions)
- Added "Open in Google Docs" button below the embedded document
- Retained obfuscated admin email for streamer support
v2.9
Streamer Cards
March 11, 2026
- Streamer List cards now show each streamer's Twitch profile picture (fetched via unavatar.io)
- Added Twitch button (purple) replacing the plain text link
- Added Donate button (green) per card — links to Tiltify campaign when available, shown as placeholder until URLs are added
- Card fallback initial shown when avatar fails to load
v2.8
2026 Streamer Roster
March 11, 2026
- Populated full 2026 streamer schedule — 40 entries across 10 days (Apr 10–19) replacing all placeholder data
- Added 2026 schedule graphic to the top of the Schedule page
- Removed "roster TBD" and "check back soon" notices from Schedule and Streamer List pages
- All streamer slots include Twitch links and accurate CDT timeslots — Tiltify URLs pending
v2.7
Nav Update
March 11, 2026
- Added Changelog link to the About Us nav dropdown
v2.6
Footer Logo & Ko-fi
March 11, 2026
- Replaced "arkonen.art" footer text link with the animated Arkonen.Art logo — Fredoka One font, purple-to-teal gradient, floating bounce and glow animations
- Added Ko-fi icon and "support my work?" link to footer credit line
- Added Fredoka One to the Google Fonts import
v2.5
Application Page
March 11, 2026
- Updated Streamer Application page — replaced open application text with closed deadline notice pointing applicants to 2027
v2.4
Footer Polish
March 11, 2026
- Removed max-width restriction on footer St. Jude disclaimer text — now spans full footer width
v2.3
Footer & Changelog
March 11, 2026
- Added animated Pikachu GIF to the footer above the site credit
- Added changelog page at /changelog — full version history displayed as a vertical timeline
v2.2
Wheel Instructions
March 11, 2026
- New page: /wheel-instructions — embeds the raffle wheel Google Doc SOP
- Added "Open in Google Docs" button below the embedded document
- Added Wheel Instructions link to the Streamers nav dropdown
v2.1
Security & Media Kit Polish
March 11, 2026
- Obfuscated admin email on Tiltify Instructions page — address no longer present in HTML source
- Rewrote Media Kit intro text to remove duplicated "browser source" mention
- Simplified OBS URL code block styling for better readability
v2.0
Media Kit Redesign
March 11, 2026
- Replaced Open Source buttons with copyable URL code blocks on the Media Kit page
- "Copy" button flashes "Copied!" for 2 seconds on click
- Fixed Media Kit grid overflow — all three overlay cards now show in a single row
- Removed 2025 Misteay background credit line from Media Kit
v1.9
Analytics & CSS Caching
March 11, 2026
- Added Betterlytics analytics to all pages (via shared head partial), including Web Vitals reporting
- Added PHP filemtime() cache-busting to style.css link — prevents Cloudflare serving stale CSS after uploads
- Reduced hero section spacing: CTA box padding, margin, and gap above welcome text
v1.8
Donation List Overhaul
March 11, 2026
- Replaced scrolling marquee ticker with a static list of the 10 most recent donations (sorted newest-first) on both /current-amount-raised and /watch
- Fixed comment text being cut off in donation rows — rows now expand to fit full comment text
- Fixed comment column truncation in the Top 10 Donations table
- Added sponsor images (WebP) to the sponsors page
- Added streamer placeholder entries with note that 2026 roster is pending
- Added milestones lightbox — click the image to open fullscreen, close with ×, click outside, or Escape
- Updated schedule and streamer list to reflect placeholder data
v1.7
Home Page & Title
March 11, 2026
- Added live amount raised to homepage hero — pulls from Tiltify API, refreshes every 60 seconds
- Improved homepage hero layout and spacing
- Updated page title suffix to "For the Kids!" across all pages
- Added 5% tick marks under the donation progress bar
- Added milestones 2026 image and free entry form link to terms page
v1.6
Event History
March 11, 2026
- Added 2023 fundraising total: $73,492.69
- Added 2024 fundraising total: $83,189.10
- Added 2025 fundraising total: $200,799.41 (more than doubled the $100K goal)
- 2026 goal set at $150,000
v1.5
Donation Dashboard
March 11, 2026
- Fixed Tiltify API proxy to use the correct V5 REST endpoint
- Updated 2026 fundraising goal to $150,000
- Added recent donations section to /current-amount-raised
- Added per-streamer donation totals with unique donor counts
- Added streamer campaign name to each donation row
v1.4
Sponsors Page
March 11, 2026
- Replaced placeholder sponsor content with real sponsor logos (WebP), names, descriptions, and links
- Fixed sponsor image centering and sizing
- Justified sponsor description text
v1.3
Schedule & Watch
March 11, 2026
- Schedule times now convert to the visitor's local time zone via the Intl.DateTimeFormat API
- Friendly timezone names displayed (Eastern, Central, etc.)
- Fixed watch page countdown layout shift
- Added header background image to banner and footer
v1.2
Nav & Banner
March 11, 2026
- Moved banner above the sticky nav bar on all pages
- Increased nav link text size
- Fixed nav dropdown hover gap causing premature dismissal
- Added dark overlay to footer for text readability
v1.1
Initial Build
March 11, 2026
- Full site rebuilt from scratch in PHP + Vanilla CSS/JS (replacing WordPress)
- Dark space theme with CSS radial-gradient nebula background
- Mobile-first responsive layout with hamburger nav
- Shared partials: head, nav, footer
- Tiltify V5 REST API proxy with OAuth2 and 60-second file cache
- All pages created: Home, Watch, Schedule, Amount Raised, Milestones, Streamer List, Donate, Donate Product, Sponsors, Sponsor Sign-Up, Apply, Tiltify Instructions, Media Kit, Leaders, History, Terms, Contact
- Clean URL routing via .htaccess (Apache) and router.php (local dev)
- config.php for secrets — gitignored, config.example.php committed as template
v1.0
Platform Migration
March 11, 2026
- Retired the old WordPress layout — the site has been fully rebuilt from scratch in PHP + Vanilla CSS/JS
- Improved security: eliminated WordPress attack surface, no plugins, no admin login endpoint
- Improved caching: PHP filemtime() cache-busting on CSS ensures visitors always receive the latest styles without manual cache purges
- Improved load speed: no WordPress overhead, no unnecessary scripts or stylesheets, WebP images with lazy loading throughout