anidoodle: hand-drawn art, written as code
Art and animation, written as code. Illustrations, loops, interactive web art, launch-videos and scored films in dozens of styles, identical on every render.
At a glance
- What is it?
- anidoodle turns illustration into functions, so the same source redraws the same picture on every machine, in any of 32 hand-coded drawing styles, and can produce the making-of film of the same drawing. It ships as a skill for coding agents rather than as a standalone application.
- Who is it for?
- anidoodle fits a team that needs a lot of illustration in one consistent hand, produced from source they can edit, for example a product team producing illustrations, explainer frames and launch material in one chosen style. It does not fit anyone who needs photographic imagery, arbitrary subjects or a one-off illustration with a bespoke brief, because the styles are fixed vocabularies rather than a general drawing model.
- Can I use it commercially?
- Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository received new commits within the last day.
- What is it written in?
- Mainly TypeScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.
Editorial analysis
Illustration as a function rather than a file
anidoodle is a system for making pictures in code, and the claim it makes about itself is precise: every mark is a function and every score is written, so the same source redraws the same picture on every machine, at every size. That is a different proposition from image generation. A generative image model gives you a bitmap you cannot easily edit, and a designer gives you a picture you cannot reproduce at a new size. Here the drawing is the program, so scaling is a re-render rather than an upscale, a colour can be changed by editing an argument, and a mistake is fixed in the source instead of in a paint program. The output is illustrations, drawing timelapses, films, explainers and interactive web art, and the launch film attached to the project is 77 seconds long with every frame and every sound produced by the tool itself.
Thirty-two styles, each a different mark-making technique
The style list is the heart of the project, and the interesting part is that each entry names a physical process rather than a visual mood. Ballpoint is one biro with tone coming from where the hatching sits. Stipple uses pen dots whose density is the tone. Single-line engraving is one unbroken spiral whose width does the shading. Risograph is ink drums overprinting through a registration offset. Woodcut is a carved keyblock with colour blocks on washi. Sumi-e is one loaded brush on absorbent paper, scratchboard is white lines scratched out of black clay, and embroidery is thread stitched through linen in a hoop. Each style also changes the subject itself, the way a different illustrator would redraw it, and the README is explicit that the plate of 32 illustrations and the contact sheet around it are drawn by code in the repository rather than photographed.
Why every style also ships a making-of film
Each style produces not one artefact but two, and the second is the more unusual. From the same source the tool also renders a film of the picture being drawn, stroke by stroke, in the order an artist working in that medium would work. A watercolour lays in pencil and then washes from light to dark, a woodblock prints the keyblock and then each colour block, pixel art blocks in flat shapes and then shades the clusters. Nothing fades in or cross-dissolves: every stroke grows and every wash spreads from where the brush touched, and the last frame of the film is identical to the still picture, pixel for pixel. That constraint is what makes the film usable as a timelapse, a making-of sequence and an explainer diagram in one artefact, and it is also the test of whether the style engine is genuinely procedural rather than a still image with an animation applied on top.
Scores as data and the optional recorded instruments
Sound works the same way as drawing. The notes are written as data and an engine turns them into sound, so nothing in the repository is a recording. A music style is a vocabulary that the model composes from, and there are 21 of them, from lo-fi electronic and house through synthwave to orchestral, jazz, folk and solo piano. Each one supplies the sound, the grooves and the harmony language, while the chords, the motif and the form are written anew, so every film gets its own score rather than a loop. The one exception is an optional sound pack, which adds eight acoustic instruments played as recordings of real ones, a Steinway grand and an upright, concert harp, marimba, vibraphone, glockenspiel, tubular bells and timpani, in three recorded rooms. Synths, drums and effects stay in code. The installer is a small tool, and the one documented command shows where the pack would land and what is in it:
node <skill>/engine/tools/soundfetch.mjs list # the install directory and what is inWithout the pack, every score still plays, unchanged.
How anidoodle attaches to a coding agent
There is no application to launch, which is the first thing to understand about the project. anidoodle is packaged as a skill, and the README says it works in Claude Code, Codex, Grok Build and in any agent that reads skills. The repository layout explains that: separate plugin directories for the three named agents, a .agents directory, and top level skills/, plugins/ and scripts/ directories, with the engine and its tools living under the skill directory, which is why the path in the command above starts with a placeholder for the skill location. A user describes the picture they want in words, the agent writes the drawing code, and the render is deterministic. The README is translated into Japanese, Simplified Chinese, Korean, French and Spanish, which tells you the intended audience is broad rather than a niche research group.
Where a fixed style vocabulary becomes a ceiling
The trade is visible in the style table. Breadth is the achievement, 32 distinct hands that a team can pick from, but the vocabulary is closed. A request that does not fit any of the 32 processes, a subject that needs a treatment none of them provides, or a brand whose look is none of them, has to be bent into the nearest one. The consistency guarantee is also narrower than it first appears. The same source redraws the same picture, which is a statement about reproducibility, not about a specific character or mascot staying identical across the 32 styles, because the README says the subject changes shape in each hand. The 0.9 version series is also still in motion, with three releases on 2026-10-17, so the skill format a team depends on may move under them.
anidoodle next to an image model and next to an illustrator
Both alternatives are worth stating precisely. A text-to-image model wins on subject flexibility and on realism, and loses on everything that follows the first render, because the output is a bitmap with no editable structure and a different result on every attempt. A human illustrator wins on bespoke brief and on taste, and loses on throughput and on reproducibility, since a redraw for a new size or a new scene is a new commission. anidoodle sits between them by making the illustration a program: reproducible, scalable and editable, with the drawing process exposed as a film, but restricted to a fixed set of coded techniques that cannot photograph or invent. For a product team producing a lot of related imagery in one hand, that is the useful half of the trade.
Licence, notices and a busy release history
anidoodle is released under the Apache 2.0 licence, with a LICENSE file at the root and a NOTICE file beside it for third party material, and a PRIVACY.md that is worth reading before a sound pack with recorded instrument samples is used in a public product. The three releases published on 2026-10-17 are v0.9.2, v0.9.3 and v0.9.4, and the last push was on the same day, so the project is moving quickly and publishing as it goes rather than on a schedule. The homepage is alexgreenshpun.com, and the repository also holds the assets directory with the banner and style plates, plus the scripts directory that supports the engine tooling.
Editorial conclusion
anidoodle fits a team that needs a lot of illustration in one consistent hand, produced from source they can edit, for example a product team producing illustrations, explainer frames and launch material in one chosen style. It does not fit anyone who needs photographic imagery, arbitrary subjects or a one-off illustration with a bespoke brief, because the styles are fixed vocabularies rather than a general drawing model. Before adopting it, read NOTICE alongside LICENSE for the third party material in the sound pack, and check PRIVACY.md, then look at the version the agent will actually load, since three releases landed on the same day and the 0.9 series is still moving.
Frequently asked questions
What is anidoodle?
It is a system that draws illustrations, drawing films, scored films and interactive web art as code, so the same source redraws the same picture on every machine and at every size.
How many drawing styles does anidoodle support?
Thirty-two, and each is a different mark-making process, from ballpoint hatching and stipple through risograph overprinting and woodcut blocks to sumi-e brush work and embroidery.
Does anidoodle need its optional sound pack to produce music?
No. Scores are written as data and played by the engine, so everything still plays without the pack. The pack adds eight recorded acoustic instruments, and node <skill>/engine/tools/soundfetch.mjs list shows the install directory and its contents.
Which coding agents can run anidoodle?
The README names Claude Code, Codex and Grok Build, and says it also works with any agent that reads skills. The repository carries separate plugin directories for the named agents alongside .agents/, skills/, plugins/ and scripts/.
Are the renders identical on different machines?
That is the central claim of the project: every mark is a function, so the same source produces the same picture everywhere, and the film of the drawing ends on a frame identical to the still.
Which licence does anidoodle use?
The Apache 2.0, with the terms in the LICENSE file at the repository root, alongside a NOTICE file for third party material and a PRIVACY.md.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/alexgreensh-anidoodle)Was this useful?