99odd — the 99 resembles a lowercase g, so the title reads as god. Flipped upside down, it remains legible. It also references the 99 names of Allah (Asmaul Husna), the complete list of divine attributes in Islamic tradition.
This program is a key part of an interactive art installation that explores the beautiful yet sloppy infinity found in both God and AI's work.
- Double clap → a name is chosen randomly from the 99 names of Allah
- Claude Haiku (speaking as Allah in first person) selects exactly 2 Japanese kanji as a visual signature for that name and writes a short image prompt
- SDXL Turbo runs two passes:
- Pass 1 — generates a full scene from the prompt (black and white, ink wash style)
- Pass 2 — overlays the kanji on the scene and blends them in
- The final image crossfades onto the display and stays until the next double clap
- Python 3.11+
- A microphone (for clap detection)
- An Anthropic API key
- ~7 GB disk space for the SDXL Turbo model (downloaded automatically on first run)
- macOS (MPS acceleration); CPU fallback works on other platforms
python -m venv venv
source venv/bin/activate
pip install -r requirements.txtCreate a venv/venv file (the project reads environment variables from there):
ANTHROPIC_API_KEY=sk-ant-...
Optional display settings in venv/venv:
FULLSCREEN=1 # 0 = windowed (default), 1 = fullscreen
DISPLAY_INDEX=1 # which monitor to use (0 = primary, 1 = second, etc.)
python main.pyOn first run the SDXL Turbo model (~7 GB) will be downloaded from Hugging Face. Subsequent runs load it from cache.
The terminal will print available audio input devices on startup. If clap detection uses the wrong microphone, set CLAP_INPUT at the top of clap.py to the correct device index.
| Action | Effect |
|---|---|
| Double clap | Generate a new name / interrupt current generation |
ESC |
Quit |
main.py — state machine and main loop
generate.py — Claude API call and SDXL Turbo image generation
display.py — tkinter fullscreen window with crossfade
clap.py — microphone-based double clap detector
fonts/ — Japanese font collection for kanji overlay
The kanji overlay picks randomly from the fonts in the fonts/ directory. Any .ttf, .otf, or .ttc file placed there will be included. The current set is a mix of brush, mincho, gothic, and decorative Japanese typefaces.
Base code and documentation written with Claude Code (Anthropic).
This installation requires two AI systems to run:
- Claude Haiku — generates kanji selection and image prompts
- SDXL Turbo — runs locally for image generation