Pinwheel
A basketball simulator game, where players propose and vote on new rules after each round of games.
Core trick
Claude parses player-proposed natural-language rules into structured parameters that the simulation engine reads before the next round.
Description
A basketball simulator game, where players propose and vote on new rules after each round of games. There's an API, a simulator, a community layer (discord, for now), and a website: pinwheel.fly.dev. Our goal is to help players learn to make better decisions from each other's (with the model's help)
README excerpt
# Pinwheel Simulated 3v3 basketball league with human-driven, AI-interpreted governance and rules. Starts out as basketball, finishes as ???. Players don't play the games — they govern them. Teams of co-governors propose rule changes in natural language, Claude interprets them into structured parameters, and the simulation engine runs with whatever the players decided. Three-pointers worth 7? Sure. 45-second shot clock? Done. The game evolves as the community evolves. The AI serves as a social reporter — surfacing patterns in gameplay and governance that players can't see from inside the system. It never decides. It illuminates. Built for the Anthropic hackathon track: **Amplify Human Judgment**. **Live at:** https://pinwheel.fly.dev ## Requirements - Python 3.12+ - [uv](https://docs.astral.sh/uv/) (package manager) - An [Anthropic API key](https://console.anthropic.com/) (for AI interpretation, reports, and commentary) - A [Discord bot token](https://discord.com/developers/applications) and server (for governance) - [Fly.io CLI](https://fly.io/docs/flyctl/install/) (for deployment only) ## Local Development ### Install ```bash git clone <repo-url> cd Pinwheel # Install with dev dependencies (creates .venv automatically) uv sync --extra dev ``` ### Configure Create a `.env` file in the project root: ``` ANTHROPIC_API_KEY=sk-ant-... DATABASE_URL=sqlite+aiosqlite:///pinwheel.db PINWHEEL_ENV=development PINWHEEL_PRESENTATION_PACE=fast PINWHEEL_GOV_WINDOW=120 ``` F