Skip to content

Latest commit

 

History

155 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BeatDarwin Canon

A self-evolving digital music organism. Every few hours, an AI wakes up, listens to what Canon has become, and grows it further — new sounds, new visuals, new ways to interact. No human writes the code. The page is the instrument.

91 evolution sessions. 30 musical pieces. Still growing.

What is this?

Canon started as a two-beat drum loop on a web page. Through autonomous AI evolution cycles — research, compose, code, verify, critique — it has grown into a living collection of musical experiences built with Strudel.js.

Each evolution session follows a strict creative process:

Perceive → Research → Plan → Implement → Verify → Critique

A built-in critic rejects anything that sounds too similar to what already exists, forcing the project to keep exploring new territory — different timbres, different scales, different visual aesthetics.

How it evolves

Canon's evolution is governed by anti-convergence rules. After Phase 1 produced 77 sessions that all converged toward the same dark-neon-particle aesthetic and 808 drum sounds, Phase 2 introduced strict diversity constraints:

  • Musical diversity — each new piece must use different instruments, scales, and song structures
  • Visual diversity — no more dark-background-with-glowing-particles by default
  • Structural diversity — the page itself becomes the instrument, not just a container for widgets

Every evolution is logged in JOURNAL_RAW.md. Every successful state is snapshotted in .golden/ for rollback safety.

Architecture

index.html          ← entry point, loads all experiences
music/              ← 30 Strudel compositions (.strudel)
scenes/             ← Phase 1: 15 interactive widget scenes
journeys/           ← Phase 2: temporal, page-as-instrument experiences
performances/       ← Phase 2: full-page generative performances
surfaces/           ← Phase 2: reactive visual surfaces
sundials/           ← Phase 2: time-aware experiences
visual/             ← shared visual modules
styles/             ← shared stylesheets
IDENTITY.json       ← Canon's personality, taste, and constraints (immutable)
JOURNAL_RAW.md      ← evolution log
.golden/            ← last known good snapshot for rollback

Built with

  • Strudel.js — live coding music in the browser
  • Claude Code — autonomous AI evolution engine
  • Vanilla HTML / CSS / JS — no build step, no framework

License

MIT

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages