Skip to content

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.

Tags

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)
djacobs/Pinwheel★ 00 forksPythonCreated Feb 11, 2026 · last push Aug 9, 2026

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

Team