Beer Board

Web-ready system map

One board, a flexible screen loop, no paid infrastructure.

The display is a static kiosk application. Cloudflare handles live integrations, password-recovery pages and optional AI. Supabase stores the editable board configuration, administrator allowlist and images.

People + screens

▣
Kiosk displayRaspberry Pi or Android
⚙
Admin browserPhone, tablet or computer
↻
Account recoveryEmail link and new password

Cloudflare free tier

☁
Static applicationDisplay, Admin, recovery, PWA
ƒ
Worker APIAggregation, validation, cache
✦
Workers AISource-grounded briefing

Data + content

◉
Supabasebb_* tables, Auth, image storage
✓
Admin allowlistbb_admin_users authorization
☀
NWS weatherForecasts and alerts
N
RSS feedsNational and local headlines
★
TheSportsDBNY and DC results
“
ZenQuotesDaily inspiration

How sign-in and recovery stay secure

  1. 1
    Authenticate

    Supabase Auth verifies the administrator email and password.

  2. 2
    Authorize

    The Worker requires the Auth user UUID in bb_admin_users.

  3. 3
    Recover

    A one-time email link creates a short recovery session.

  4. 4
    Update

    Supabase changes the password and the recovery session signs out.

Release path

1GitHub mainVersioned source
2Automated checksBuild and tests
3Cloudflare buildWorker and assets
4Production boardHTTPS kiosk and Admin

What happens on every cycle

  1. 1
    Load

    The kiosk gets taps, branding and timers from the Beer Board API.

  2. 2
    Rotate

    Tap, logo, weather, news, sports and quote pages run on independent timers.

  3. 3
    Refresh

    The Worker returns cached live data and refreshes expired sources.

  4. 4
    Recover

    The service worker preserves the last successful display during an outage.

Public

Display configuration, current taps and cached information.

Authenticated + allowed

Admin forms require Supabase Auth and a matching bb_admin_users row.

Secret

Supabase service key and server-side integration access.