Spin the Activity — a graphical web app that spins a wheel to pick an activity from saved lists.
  • Python 61.1%
  • JavaScript 25.9%
  • HTML 8.1%
  • CSS 4.7%
  • Dockerfile 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-14 05:48:46 +00:00
docs fix: quote the mail from name so the envelope sender stays the from address 2026-09-13 21:02:57 -07:00
src/spin_the_activity fix: quote the mail from name so the envelope sender stays the from address 2026-09-13 21:02:57 -07:00
static Share stylesheet tokens and drop duplicate page chrome. 2026-09-13 22:25:39 -07:00
templates Share stylesheet tokens and drop duplicate page chrome. 2026-09-13 22:25:39 -07:00
tests Share stylesheet tokens and drop duplicate page chrome. 2026-09-13 22:25:39 -07:00
.dockerignore Initial Spin the Activity web app and Forgejo repo. 2026-09-08 22:33:35 -07:00
.gitignore Initial Spin the Activity web app and Forgejo repo. 2026-09-08 22:33:35 -07:00
AGENTS.md Align visitor, moderator, and admin copy with one glossary. 2026-09-13 16:37:42 -07:00
CHANGELOG.md chore: PR-prep 0.22.2 stylesheet tokens 2026-09-13 22:26:14 -07:00
docker-compose.yml feat: add an administrator console for users, lists, tunables, and usage 2026-09-10 18:19:03 -07:00
docker-entrypoint.sh Fix data volume ownership so SQLite can create spin.db (#2) 2026-09-09 06:53:01 +00:00
DOCKER_README.md feat: beta, library lists on admin delete, health and error pages 2026-09-12 10:45:40 -07:00
Dockerfile Fix data volume ownership so SQLite can create spin.db (#2) 2026-09-09 06:53:01 +00:00
LICENSE Editor headings, stronger add-item, cancel, and MIT attribution (#4) 2026-09-09 13:39:37 +00:00
pyproject.toml feat: beta, library lists on admin delete, health and error pages 2026-09-12 10:45:40 -07:00
README.md Align code, API, and schema names with the product glossary. 2026-09-13 17:55:56 -07:00
VERSION chore: PR-prep 0.22.2 stylesheet tokens 2026-09-13 22:26:14 -07:00

Spin the Activity

A colorful web app that spins a wheel to pick an activity. Lists live in PostgreSQL. Visitors spin public lists and hidden lists they have a link to; an account saves private lists, copies, progress, and history.

A GeekyNuggets.com app. MIT License.

Forge: ai-collab/spin-the-activity.

Features

  • Click or tap the wheel to spin; starburst on the click, confetti on the landing, pulsing winner overlay
  • Library of built-in lists plus personal lists
  • Slice name, icon, color, wait time, and enabled — name or icon required
  • Four list modes: full random, use wait times, disable once chosen, cycle then restart
  • Email and password accounts with a display name; email used for confirmation and recovery
  • Copy lists, public/hidden/private visibility, per-list spin history, and a personal stats dashboard
  • Account data download and self-service account deletion
  • Help, Privacy Policy, and Terms of Service on the site
  • Administrator console for accounts, lists, configuration, operator details, and usage
  • App container plus a dedicated Postgres container

Run with Docker

docker compose up --build

Open http://localhost:8080/. Details: DOCKER_README.md.

Published hosts and the devmain cadence: docs/PROMOTION.md.

Run on the host

Python 3.12+:

python3 -m venv .venv
. .venv/bin/activate
pip install -e ".[dev]"
python -m spin_the_activity

The server binds 0.0.0.0:8080. Set STA_DATABASE_URL to a Postgres database. ./data/ holds the cookie-signing secret when STA_SECRET_KEY is unset.

pytest

Documentation

File Role
docs/DESIGN.md Product rules
docs/TECHNICAL.md Schema, HTTP, layout
docs/USER_GUIDE.md Visitor help (also /help)
docs/VERSIONING.md Version policy
docs/ATTRIBUTIONS.md Fonts and art
DOCKER_README.md Container usage
docs/PROMOTION.md Preview/prod hosts and cadence

Versioning is beta. Canonical file: VERSION. Display form may add a v prefix; the file does not.