🎲 OTP Bingo
22 Oct 2025One 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!

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 .