codeface paint ./your-photo.jpg --blobs 8000
Your photo, re-painted blob by blob.
Thousands of soft colour blobs, fitted live by gradient descent on your own GPU. Nothing is uploaded. When it is done, your picture is a list of code you can print.
- BLOBS · LIVE
- 2,048
- MISTAKE
- 2.57%
- UPLOADED
- 0 bytes
SCROLL · THE CURSORS BUILD THE REST
01 · HOW IT WORKS
Three steps, all on your machine.
-
1Drop a photo
Pick a photo. Your browser reads it and shrinks it to 512 pixels; it never leaves this device.
-
232 blobs become 8,000
It starts with 32 big blobs and keeps adding smaller ones where the picture is still most wrong.
-
3Gradient descent
Every step nudges each blob's place, size, angle, colour and opacity to make the mistake smaller.
02 · THE CODE
Your picture is a list of code.
Every blob is one line of hex. The text file is the picture: open it in the app and it paints itself again.
One line is one blob. This is blob 803 of the demo:
2f06x6c08y3f8w8d7hd99angadd06bcolourbcop
- x y
- where its centre sits, as a fraction of the picture's long side
- w h
- its size along its own two axes, on a log scale
- ang
- which way it is turned, 0 to 180 degrees
- colour
- red, green and blue, two hex digits each
- op
- how opaque it is, from 00 to ff
stage-08000.txt12 of 8,000 lines · select one to copy it
03 · THE POSTER
Print the code.
The poster is the whole code file, every blob line, tinted by your picture so the picture shows through the text.
Download it as vector SVG that stays sharp at any size, or as a 300 dpi PNG, from A4 up to 50 × 70 cm.
04 · HONEST AND PRIVATE
Nothing generated. Nothing sent.
-
No AI generation
Nothing is invented. Every blob is fitted to your own photo by plain gradient descent: re-painted, not generated.
-
Your photo stays here
It is read, fitted and drawn in this browser tab, on your own GPU. The site has no backend that could receive it.
-
No analytics, no tracking
No analytics, no cookies, no tracking scripts. Nothing on this site is loaded from another site.
-
Open source, MIT
Every line is on GitHub under the MIT licence: read it, run it, change it.