Break the ice, make connections, win at networking!
Soc Ops is an interactive social bingo game designed for in-person mixers, team events, and conferences. Find people who match the prompts, mark your card, and race to get 5 in a row!
- 🎲 Randomized boards — Every player gets a unique arrangement
- 💾 Auto-save progress — Pick up where you left off
- 🏆 Bingo detection — Automatic win detection for rows, columns, and diagonals
- 🎉 Celebration modal — Confetti-worthy victory screen
- 📱 Mobile-first — Works great on phones at events
- Python 3.13+
- uv (Python package manager)
uv sync
uv run uvicorn app.main:app --reload --port 8000
# Open http://localhost:8000uv run pytestuv run ruff check .Edit app/data.py to add your own icebreaker prompts:
questions_list: list[str] = [
"has a pet",
"speaks more than 2 languages",
"your custom question here",
# ... 24+ questions for a full board
]👉 Follow the Lab Guide for a hands-on workshop experience with GitHub Copilot agents.
- Framework: FastAPI + Jinja2 + HTMX
- Styling: Custom CSS utilities (Tailwind-inspired)
- State: Server-side sessions with cookie persistence
- Deployment: GitHub Pages via Actions
app/
├── templates/ # Jinja2 templates
│ ├── base.html
│ ├── home.html
│ └── components/ # bingo_board, bingo_modal, game_screen, start_screen
├── static/ # CSS & JS assets
├── models.py # Game state & data models
├── game_logic.py # Bingo detection & board generation
├── game_service.py # Session management
├── data.py # Question bank
└── main.py # FastAPI routes
tests/
├── test_api.py # API endpoint tests
└── test_game_logic.py # Game logic unit tests
Automatically deploys to GitHub Pages on push to main:
- Your game:
https://{username}.github.io/{repo-name}
MIT — use it for your next event!