Craig Phares @craigphares.bsky.social · 06/02/2026Noise wave experiments #generativeart #creativecoding #algorithmicart 020
Craig Phares @craigphares.bsky.social · 06/02/2026Taking this algorithm a little further with one line shapes. Keeping things monochromatic for now while figuring out the best results. Also managed to setup a nice workflow with no libraries. #generativeart #creativecoding #geometry 030
Craig Phares @craigphares.bsky.social · 01/02/2026That's a wrap for #Genuary2026! Woke up today not knowing what to do. #Genuary is one of my favorite things. Fleshed out my own #retrowave style & hope to ride this momentum into a larger project. Big thanks to EditArt, Piter Pasma & the artists who contributed this year! 050
Craig Phares @craigphares.bsky.social · 01/02/2026"Liquid Glass" Genuary Day 31: GLSL day. Create an artwork using only shaders. #genuary2026 #genuary #genuary30 #creativecoding Explore live on @editart_xyz 👇 130
Craig Phares @craigphares.bsky.social · 30/01/2026"OUT OF ORDER" Genuary Day 30: Its not a bug, its a feature. (credit: @Unordered__list) #genuary2026 #genuary #genuary30 #glitchart Explore live on @editart_xyz 👇 151
Craig Phares @craigphares.bsky.social · 29/01/2026"Polygon Neighborhood" Genuary Day 29: Genetic evolution and mutation. (credit: @monokai) Regular polygon mutations happen gradually. Each generation inherits from its neighbors. Made with p5.js @editart_xyz series in thread 👇 #genuary2026 #genuary #genuary29 #creativecoding 141
Craig Phares @craigphares.bsky.social · 28/01/2026"Bug in the Vaporwave" Genuary Day 28: No libraries, no canvas, only HTML elements. (credit: @pifragile) Something is wrong with the system. Made with HTML & CSS. #genuary2026 #genuary #genuary28 #vaporwave Click & drag on @editart_xyz (link in thread) 👇 112
Craig Phares @craigphares.bsky.social · 27/01/2026"Curious Amoeba" Genuary Day 27 Lifeform. A shape or structure that behaves as if it’s alive or growing. (credit: @ManuelLarino) A SmoothLife simulation made with p5.js. See it move on @editart_xyz (link in thread) 👇 #genuary2026 #genuary #genuary27 #genartclub 181
Craig Phares @craigphares.bsky.social · 26/01/2026"Hexaglitch" Genuary Day 26: Recursive Grids. Split the canvas into a grid of some kind and recurse on each cell again and again. (@pifragile) Continuing my obsession with hexagons. Made with p5.js #genuary2026 #genuary #genuary26 #genartclub @editart_xyz link in thread 👇 162
Craig Phares @craigphares.bsky.social · 25/01/2026"Space Filler D20" Genuary Day 25: Organic Geometry. Forms that look or act organic but are constructed entirely from geometric shapes. (@manuellarino) Made with p5.js #genuary2026 #genuary #genuary25 #genartclub See it in action on @editart_xyz link in thread 👇 152
Craig Phares @craigphares.bsky.social · 24/01/2026"Neon Homage à Vera Molnar" Genuary Day 24: Perfectionist’s nightmare. Inspired by Vera Molnar's algorithmic drawings. Made with p5.js. #genuary2026 #genuary #genuary24 #genartclub See more on @editart_xyz link in thread 👇 2162
Craig Phares @craigphares.bsky.social · 23/01/2026"Lofi Canvas" Genuary Day 23: Transparency. Explore the concept of transparency. Working in Photoshop, but the shapes won't stop moving. Made with p5.js. #genuary2026 #genuary #genuary23 #genartclub @editart_xyz link in thread 👇 111
Craig Phares @craigphares.bsky.social · 22/01/2026"Plottable Planarwave" Genuary Day 22: Pen plotter ready. A single line traversing a noise field, upgraded to render different shapes. Outputs to a plottable image. Made with pure JavaScript. #genuary2026 #genuary #genuary22 #genartclub @editart_xyz link in thread 👇 182
Craig Phares @craigphares.bsky.social · 21/01/2026"Neon Bauhaus" Genuary Day 21 Bauhaus Poster. Create a poster design inspired by the German art school Bauhaus. Made with p5.js #genuary2026 #genuary #genuary21 #genartclub @editart_xyz link in thread 👇 1143
Craig Phares @craigphares.bsky.social · 20/01/2026"Planarwave" Genuary Day 20: One line. An artwork that is made of a single line only. A line traversing a noise field, retrowaved. Made with p5.js. #genuary2026 #genuary #genuary20 #genartclub @editart_xyz link in thread 👇 121
Craig Phares @craigphares.bsky.social · 19/01/2026Pixellated Genuary Day 19: 16x16 #genuary2026 #genuary #genuary19 #genartclub @editart_xyz link in thread 👇 101
Craig Phares @craigphares.bsky.social · 18/01/2026"Lightcycle" Genuary Day 18: Unexpected path. Draw a route that changes direction based on one very simple rule. Tron lightcycles that try not to collide. The only way to win the game is not to play. #genuary2026 #genuary #genuary18 #genartclub @editart_xyz link in thread 👇 141
Craig Phares @craigphares.bsky.social · 17/01/2026"Mac OS 7 Wallpaper" Genuary Day 17: Wallpaper group. There are only 17 ways to cover a plane with a repeating pattern. Choose your favorite. I chose all 17. Some OG ❤️ for MacOS7. Made with p5.js #genuary2026 #genuary #genuary17 #genartclub @editart_xyz link in comments 🔗 131
Craig Phares @craigphares.bsky.social · 16/01/2026"Neon Turmite" Genuary Day 16: Order and disorder. An ordered hexagonal grid is the home of a disorderly turmite. The turmite will perform its actions until it's stuck in a loop or 2s have passed. #genuary2026 #genuary #genuary16 #genartclub @editart_xyz link in comments 🔗 131
Craig Phares @craigphares.bsky.social · 15/01/2026"Shadow Mask Glitch" Genuary Day 15: Create an invisible object where only the shadows can be seen. A triangle artifact casts its shadow over a glitching CRT video display. Made with p5.js. #genuary2026 #genuary #genuary15 #genartclub @editart_xyz link in comments 🔗 161
Craig Phares @craigphares.bsky.social · 14/01/2026Packed Neon Triangles Genuary Day 14: Everything fits perfectly. Made with p5.js. #genuary2026 #genuary #genuary14 #genartclub @editart_xyz link in comments 141
Craig Phares @craigphares.bsky.social · 13/01/2026Mirror Genuary Day 13: Self portrait. Panels learn from a rudimentary GAN how to tilt themselves towards a light source to generate tints and shades. Made with p5.js. #genuary2026 #genuary #genuary13 #genartclub Available on @editart_xyz (link in comments) 151
Craig Phares @craigphares.bsky.social · 12/01/2026Retroboxes 🧊🧊🧊 Genuary Day 12: Boxes only. Made with p5.js #genuary2026 #genuary #genuary12 #genartclub @editart_xyz link in comments 🔗 111
Craig Phares @craigphares.bsky.social · 12/01/2026Quinewave Genuary Day 11 Quine. A Quine is a form of code poetry, it’s a computer program that outputs exactly its own source code. First time making a Quine! #genuary2026 #genuary #genuary11 #genartclub @editart link in comments 🔗 121
Craig Phares @craigphares.bsky.social · 10/01/2026Polarwave Genuary Day 10: Polar coordinates. Synthwave grid wrapped into polar coordinates around a rolling icosohedron. Made with p5.js. #genuary2026 #genuary #genuary10 #genartclub 132
Craig Phares @craigphares.bsky.social · 09/01/2026Hexatomaton Genuary Day 9 Crazy automaton. Cellular automata with crazy rules. Rolls a D20 to pick from a curated set of CA rules. Rules are executed on a random hexagonal grid. Made with p5.js. #genuary2026 #genuary #genuary9 #genartclub 131
Craig Phares @craigphares.bsky.social · 09/01/2026Tronopolis Genuary Day 8 A City. Create a generative metropolis. #genuary2026 #genuary #genuary8 #genartclub 141
Craig Phares @craigphares.bsky.social · 08/01/2026Neon Triangle XOR Genuary Day 7 Boolean algebra. Get inspired by Boolean algebra, in any way. A variety of XOR formulas are used to render neon triangles on a grid. Made with p5.js. #genuary2026 #genuary #genuary7 #genartclub 1143
Craig Phares @craigphares.bsky.social · 06/01/2026Neon Light Genuary Day 6 Lights on/off. Make something that changes when you switch on or off the “digital” lights. Click the triangle to turn the lights on and off. #genuary2026 #genuary #genuary6 #genartclub 101
Craig Phares @craigphares.bsky.social · 05/01/2026"GAN Writer" Genuary Day 5: Write “Genuary”. Avoid using a font. This sketch uses a rudimentary GAN with a generator and discriminator to iteratively improve its ability to write "GENUARY" over time. #genuary2026 #genuary #genuary5 #genartclub 111
Craig Phares @craigphares.bsky.social · 04/01/2026"20D Arcade" 20 sided dice, made with p5.js on a 144p screen. Genuary Day 4 Lowres. An image or graphic with low resolution, where details are simplified or pixelated. #genuary2026 #genuary #genuary4 #genartclub 121
Craig Phares @craigphares.bsky.social · 03/01/2026VogelWave Genuary Day 3: Fibonacci forever Made with p5.js and my CRT shader. #genuary2026 #genuary #genuary3 #genartclub 150
Craig Phares @craigphares.bsky.social · 02/01/2026Genuary Day 2 - Twelve principles of animation "Chase The Bouncing Sun" #genuary2026 #genuary #genuary2 #genartclub 140
Craig Phares @craigphares.bsky.social · 02/01/2026Happy GENUARY! Day 1: One color, one shape. I'll be focusing on Retrowave art this year. Everything passes through a shader to make things extra cathode ray tubey. Day 1 draws a random triangle with 1 color. #genuary2026 #genuary #genuary1 #genartclub 130
Craig Phares @craigphares.bsky.social · 04/11/2025Rothko meets Lichtenstein #generative #genartclub 020
Craig Phares @craigphares.bsky.social · 04/11/2025Discovered that SVGs have a mix-blend-mode that's widely supported! No more manually mixing colors 😅 Added two-page spreads and gradients. Will try to add some non-rectilinear shapes next. #generative #genartclub 0111
Craig Phares @craigphares.bsky.social · 29/10/2025No libraries. Pure JavaScript to SVG. Love me some Benday dots. 🩵🩷💛🖤 #generative #genartclub 010
Craig Phares @craigphares.bsky.social · 15/10/2025Revisiting old code. Will try to get this library-free and SVG-friendly. #generative #genartclub 030
Craig Phares @craigphares.bsky.social · 11/10/2025Channeling my inner Vera Molnár today. #generative #genartclub 092
Craig Phares @craigphares.bsky.social · 03/04/2025I built a tiny macOS menu bar app medium.com/@craigphares...medium.comHow I Built and Launched a Micro App in 3 Days With the Help Of AIIncorporating artificial intelligence into my development toolchain helped me to rapidly build ShinyTimer, a tiny macOS menu bar app. 110
Craig Phares @craigphares.bsky.social · 31/01/2025Day 31: Pixel sorting. Pixel sorted ANSITUNES. ASCII Charset: ≡☼─█▀▄▌▐ #genuary2025 #genuary31 #genuary #generative #genartclub 090
Craig Phares @craigphares.bsky.social · 31/01/2025Day 30: Abstract map. ASCII Rogue maps. #genuary2025 #genuary30 #genuary #generative #genartclub 070
Craig Phares @craigphares.bsky.social · 29/01/2025Day 29: Grid-based graphic design. PETSCII Charset: █ #genuary2025 #genuary29 #genuary #generative #genartclub 0180
Craig Phares @craigphares.bsky.social · 28/01/2025Day 28: Infinite Scroll. Lately, all my art is an infinite scroll, so I had a little fun with this one. ASCII Charset: █┌┐└┘─│▌▀/\ #genuary2025 #genuary28 #genuary #generative #genartclub 151
Craig Phares @craigphares.bsky.social · 27/01/2025Day 27: Make something interesting with no randomness or noise or trig. Combining 2 logic fractals: (x | y) % 7 and (x | y) % 29. ASCII Charset: •◘ #genuary2025 #genuary27 #genuary #generative #genartclub 0123
Craig Phares @craigphares.bsky.social · 26/01/2025Day 26: Symmetry. ASCII Charset: ░▒▓▄▌ #genuary2025 #genuary26 #genuary #generative #genartclub 0215
Craig Phares @craigphares.bsky.social · 26/01/2025Day 25: One line that may or may not intersect itself ASCII Charset: │┐└─┘┌█ #genuary2025 #genuary25 #genuary #generative #genartclub 091
Craig Phares @craigphares.bsky.social · 24/01/2025Day 24: Geometric art - pick either a circle, rectangle, or triangle and use only that geometric shape. PETSCII Charset: ●○ #genuary2025 #genuary24 #genuary #generative #genartclub 0121
Craig Phares @craigphares.bsky.social · 23/01/2025Day 23: Inspired by brutalism. PETSCII Charset: █◥ #genuary2025 #genuary23 #genuary #generative #genartclub 1101
Craig Phares @craigphares.bsky.social · 22/01/2025Day 22: Gradients only. ASCII Charset: ░▒▓█ #genuary2025 #genuary22 #genuary #generative #genartclub 091