Problem

CTF teams coordinate across time zones and multiple chats, which makes schedules, reminders, and result history easy to lose.

Implementation

Bingoo centralizes event operations inside Discord, persists team data in SQLite, and uses asynchronous network and database access to keep interactions responsive.

  • Add, edit, and delete events
  • CTFtime lookup and imports
  • Reminder and status scheduling
  • Rankings, CSV export, and team statistics
  • Paginated Discord interfaces
  • Timezone-aware timestamps

Key technical decisions

  • Used asynchronous I/O throughout Discord and API flows
  • Stored canonical timestamps for timezone-safe presentation
  • Paginated dense result sets within Discord interaction limits

Security considerations

  • Keeps bot credentials in environment configuration
  • Validates command input before persistence
  • Treats CTFtime responses as untrusted external data