🎲 OTP Bingo

One Time Passcodes (OTPs) are very useful for keeping accounts secure, but tedious to enter repeatedly over the day. Add some fun to them with OTP Bingo!

Example image of an OTP bingo card

The game is simple, every time you have to enter a few digits for your OTP check your bingo card for them. When you have filled out enough to complete a row or column shout BINGO as loud as you can. OTPs come in quite a few different flavours, but you should be able to adapt them to a good game of bingo using the script in this gist.

uv run --with reportlab bingo.py --help

usage: bingo.py [-h] [--grid-size GRID_SIZE] [--max-value MAX_VALUE] [--total-cards TOTAL_CARDS] [--output OUTPUT]
                [--add-free]

Generate OTP Bingo PDF cards.

options:
  -h, --help            show this help message and exit
  --grid-size GRID_SIZE
                        Size of the bingo grid (default: 5 for 5x5).
  --max-value MAX_VALUE
                        Maximum random number value (default: 999).
  --total-cards TOTAL_CARDS
                        Total number of bingo cards to generate.
  --output OUTPUT       Output PDF filename (default: otp_bingo.pdf).
  --add-free            Add a FREE value to the middle cell if True and the bingo grid has an odd number side length

to see the available options, or use the pre-generated bingo cards .