art + algorithms is an open-source gallery for the claim that programming can become an art form when structure, behavior, constraint, timing, and meaning are chosen with expressive intent.
A program can be useful, correct, expressive, playful, personal, beautiful, strange, political, precise, fragile, and alive.
This version is curated by Kush S. and intended for https://art.skushagra.com/, with related writing on Declarative at https://skushagra.com.
This site does not argue that all code is art. It argues that code can become a medium.
Screenshots placeholder:
docs/screenshot-hero.pngdocs/screenshot-gallery.pngdocs/screenshot-demos.png
- A homepage built as a navigation threshold, with each demo on its own route
- Ten interactive computational artworks
- A shared demo registry for easy extension
- A behind-the-scenes panel for every piece
- Keyboard-accessible controls and pause points
- Reduced-motion support and a manual motion toggle
- Static deployment with Vite, React, TypeScript, and Tailwind CSS
gesture— flow field paintinggrid— 32 by 18 pixel constraint editorchoreography— sorting as movementweather— cellular automata playgroundpoem— local generative poetry enginegarden— recursive tree generatorlight— shader-like arithmetic painting without WebGLtype— kinetic typography stagemaze— pathfinding personality playgroundsource— safe source remix editor
npm install
npm run devnpm run build
npm run lint.
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── index.html
├── package.json
├── src
│ ├── App.tsx
│ ├── components
│ ├── content
│ ├── demos
│ ├── hooks
│ ├── lib
│ ├── main.tsx
│ ├── styles.css
│ └── index.css
└── vite.config.ts- Create a component in
src/demos. - Give it direct interaction, controls, reset, remix, and a pause-friendly path.
- Add accessible labels and a reduced-motion behavior.
- Register it in
src/demos/index.tswith metadata and behind-the-scenes copy. - Make sure the panel explains what the code is doing, where the artistic choice enters, and what to try next.
- Controls use semantic form elements and buttons.
- Every demo includes a textual description.
- Motion can be reduced through system preference or the site toggle.
- Demos expose keyboard alternatives for core interactions.
- The site avoids flashing and strobing patterns.
See CONTRIBUTING.md for demo expectations, accessibility checks, performance checks, and commit style.
Code is released under the MIT License in LICENSE.
Written copy and demo concepts are also covered by the repository license for simplicity in this first version.