Replace the old ticket picker (dorm/shared/single × full/weekly) with a
simpler model: €300/week base registration with opt-in toggles for
accommodation and food, which are invoiced separately after acceptance.
- Merge form steps 11+12 into single "Weeks & Options" step (13→12 total)
- Add "Select all 4 weeks" toggle, accommodation yes/no + preference, food toggle
- Live price summary (€300 × weeks)
- Simplify Mollie pricing to flat per-week rate
- Add need_accommodation and want_food DB columns with auto-migration
- Update confirmation/admin emails and Google Sheets sync
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The live DB has the legacy column name 'resend_id' but the code references
'message_id'. Adds a migration that detects and renames the column on startup.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add payment routes, checkout redirect, return page, DB schema updates,
and environment configuration for Mollie payment processing.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Replace BlockSurvey with custom application form (apply.html)
- Add admin dashboard for reviewing applications (admin.html)
- Create PostgreSQL schema for waitlist, applications, email logging
- Implement application API with Resend email confirmations
- Replace Google Sheets waitlist with PostgreSQL backend
- Update docker-compose with PostgreSQL service
- Update server.js with new API routes
- Update index.html to link to internal apply.html
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Full website with:
- Landing page, game, privacy policy
- Speakers and community partners sections
- API routes for waitlist, game chat, GitHub sharing
- Docker deployment with Express server
- Traefik labels for votc.jeffemmett.com
Replaces initial splash page with complete site.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>