Alexandre B A Villares


sketch-a-day

coding a visual idea a day

Welcome! My name is Alexandre Villares and since January, 2018 I have been coding sketches everyday, publishing the source code in the same repository that stores this page, github.com/villares/sketch-a-day.

The results here are mostly tentative, exploratory, and I don’t feel like they need to be relevant or meaningful on any particular day. The everyday practice leads to the emergence of ideas that I consider interesting, worthy of further exploration. Some of those have been added to selected work, this collection itself became valuable for me, and it is my pleasure to share it with anyone willing to explore coding as a creative and expressive medium.

To support my artistic work, research and open educational resources I freely publish on-line, donate using Wise, Liberapay, PayPal, or to the Brazilan PIX key 46c37783-5edb-4f1c-b3a8-1309db11488c.

You can follow me on Mastodon @villares@ciberlandia.pt or at @villares@pynews.com.br, where I post most of my daily sketches. Please do not hesitate to contact me regarding licenses to use my work, teaching opportunities, consulting or other projects.


2026 | 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018


sketch_2026_01_18

sketch_2026_01_18

sketch_2026_01_18 [py5]

10000 steps of walker that turns 30° one way if the step is prime and 30° the other way. #genuary #genuary18 #genuary2026


sketch_2026_01_17

sketch_2026_01_17

sketch_2026_01_17 [py5]

I’m not sure it would count as #genuary17 but I wanted to do this inspired by something I saw from @ranoya@vis.social

#genuary #genuary2026


sketch_2026_01_16

sketch_2026_01_16

sketch_2026_01_16 [py5]


sketch_2026_01_15

sketch_2026_01_15

sketch_2026_01_15 [py5]


sketch_2026_01_14

sketch_2026_01_14

sketch_2026_01_14 [py5]


sketch_2026_01_13

sketch_2026_01_13

sketch_2026_01_13 [py5]


sketch_2026_01_12

sketch_2026_01_12

sketch_2026_01_12 [py5]

#genuary #genuary12 #genuary2026 #3D boxes only


sketch_2026_01_11

sketch_2026_01_11

sketch_2026_01_11 [py5]


sketch_2026_01_10

sketch_2026_01_10

sketch_2026_01_10 [py5]

#genuary #genuary10 #genurary2026


sketch_2026_01_09

sketch_2026_01_09

sketch_2026_01_09 [py5]

Tweaking an old idea of coloring Wolfram’s Automata #genuary #genuary9 #genuary2026


sketch_2026_01_08

sketch_2026_01_08

sketch_2026_01_08 [py5]

#genuary #genuary8 #genuary2026 Tweaking a sketch from 2022…


sketch_2026_01_07

sketch_2026_01_07

sketch_2026_01_07 [py5]

The cool binary XOR based pattern I learned fron Ntsutae… now with #numpy #genuary #genuary7 #genuary2026


sketch_2026_01_06

sketch_2026_01_06

sketch_2026_01_06 [py5]

#genuary6 #genuary #genurary2026


sketch_2026_01_05

sketch_2026_01_05

sketch_2026_01_05 [py5]

In 2021 I was working on some older code for a silly glyph editor, I couldn’t resurrect the editor (yet) but I could still read some pickled glyphs data! I hope I get back to these studies again. Note: be careful about loading pickled data from untrusted sources, there is a nasty risk of “arbitrary code execution”.


sketch_2026_01_04

sketch_2026_01_04

sketch_2026_01_04 [py5]

#genuary4 #genuary #genuary2026


sketch_2026_01_03

sketch_2026_01_03

sketch_2026_01_03 [py5]

Once I made a nice Fibonacci based animation, but this time I couldn’t figure something I liked :( #genuary #genuary 3 #genuary2026


sketch_2026_01_02

sketch_2026_01_02

sketch_2026_01_02 [py5]

#genuary2 #genuary #genuary2026


sketch_2026_01_01

sketch_2026_01_01

sketch_2026_01_01 [py5]

#genuary #genuary1 #genuary2026


2026 | 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018


The sketch-a-day project, images and code repository, by Alexandre B A Villares are licensed under Attribution-NonCommercial-NoDerivatives 4.0 International , except if marked/attributed otherwise in a file or code section. Please contact for licensing questions.