Thoughts
Open Brain Session 10 - Calendar integration: Google Apps Script "Open Brain Calendar Sync" set up at script.google.com. Captures 7-day lookahead (Dave's preference over 48 hours). Filters out Reclaim-generated events and holiday calendars to reduce noise. Scheduled daily at 4-5 AM ET, well before the 8 AM brain digest. All-day events handled separately. Guest list wrapped in try/catch for read-only calendar compatibility. Events sorted chronologically.
Tat-Tally: Polling fallback added to display and MC apps for Realtime resilience (2026-03-16) Problem: The display app (public leaderboard monitors) and MC control panel had zero polling fallback. They relied entirely on Supabase Realtime WebSocket subscriptions. Stress testing showed a 1-2% missed event rate, which means over a multi-hour convention, displays could freeze on stale data with no self-recovery. The entrant portal already had refetchInterval: 15_000, but the display and MC apps did not. What failure looks like without the fix: Public monitors behind the judges freeze. Judges keep scoring on iPads, MC keeps calling entries, but the big screens stop updating. Nobody sees new scores until someone manually refreshes the browser. At a convention with 300+ people watching, this kills the transparency promise. Fix: Added refetchInterval to all mission-critical useQuery calls across 4 files. Realtime still handles 98%+ of updates instantly. The poll is just a safety net. Files changed: - src/display/src/pages/master-leaderboard.tsx (leaderboard + current entry, 15s) - src/display/src/pages/active-category.tsx (leaderboard + current entry, 15s) - src/display/src/pages/judge-monitor.tsx (active assignment + current entry, 15s) - src/mc/src/pages/control-panel.tsx (queue 15s, live scores 10s) Static/config queries (event info, display config, criteria, judge assignments) were left without polling since they don't change during active judging. Committed as 00d91aa, pushed to main.
add note to project atlanta invitational : Gemini said Implementing a tiered pricing model based on hotel occupancy is a standard practice for many large-scale tattoo conventions. This is typically structured as a "Stay-to-Play" policy or a "Host Hotel Incentive." *The Logic Behind the Policy* Organizers generally negotiate with a venue based on a guaranteed number of room nights booked by attendees and artists. If the "room block" is met, the venue often discounts the rental fee for the convention floor. If the block is not met, the organizer is usually required to pay a significant financial penalty (attrition) to the hotel. By charging more for a booth when an artist stays off-site, the organizer is essentially passing on the "unrecovered" venue cost to those not contributing to the room block quota. *Effective Wording and Framing* To avoid sounding heavy-handed, it is more effective to frame the policy as an "Incentive Discount" rather than a "Penalty Fee." *Sample Wording:* > "To maintain affordable booth rates and support our venue contract, we offer a discounted rate for artists staying at the host hotel. A $200 'Facility Fee' applies to all booths not associated with a confirmed reservation in the official room block. This fee is waived upon providing a valid hotel confirmation number." Another common approach is to list a "Standard Rate" and a "Host Hotel Discounted Rate." This frames the higher price as the baseline and the hotel-linked price as a benefit. *Strategic Implementation* • *The Local Exception:* It is standard to waive this fee for artists whose home or studio is within a specific radius (typically 50–75 miles) of the venue, as they are not expected to book a hotel. • *Verification:* Request the hotel confirmation number directly on the application or through a follow-up form once the block opens. • *Transparency:* Including a brief note about how the room block directly lowers the overall cost of the show helps build goodwill with artists who might otherwise view the policy as an unnecessary restriction. Using this model helps stabilize the convention's overhead while ensuring that the artists who support the event's infrastructure receive the best possible pricing.