Moss is a pixel canvas where every brush is a tiny program

smusamashah 223 points 25 comments March 04, 2026
www.moss.town · View on Hacker News

Discussion Highlights (14 comments)

heyitsgarrett

Oh thanks for sharing this! I love asesprite, procreate, pico8 and had this idea for programmable brushes bonking around my head for years now. Recently took some time between projects to put it together. MOSS is a drawing toy where each brush is a tiny script that knows about every pixel on the canvas. You define how it paints with noise, randomness, patterns, stroke speed, pressure, and every touch executes the code. So you can have a brush that scatters pixels like a real spray can or one that stamps shapes that mutate as you drag. Or perspective lines that actually converge. Or a fill bucket with smart gap awareness (I called it "Fill of my Dreams" and added to the brush list). Happy to share brush code in the comments or explore ideas together. There's a (?) in the bottom right toolbar with API docs, and a prompt copy at the bottom if you wanted to work with the API through an agent.

mpalmer

Absolutely lovely design, thanks for the share and the inspiration

RodgerTheGreat

Moss looks much more general and powerful, but Decker has a similar mechanism for custom brush behavior; here's an interactive tutorial with a variety of examples, for comparison: http://beyondloom.com/decker/brushes.html

od0

This is the most fun I’ve had drawing with pixels since I was a kid

Klonoar

This is amazing. Could you add support for holding `Shift` to keep your line straight while painting, ala MSPaint?

olivia-banks

This is a seriously fun tool. Bravo!

adammarples

In what way is a brush a program? How do I program it? I've spent 5 minutes and clicked on every single thing I can find but I give up looking.

graypegg

That's such a neat idea! It's like a paintable version of https://www.shadertoy.com Is there a way to share brushes in the app/a brush sharing gallery? For sharing, I can see the "weekly" section from the homepage, which looks to be a weekly art prompt and everyone's go at it, which is really fun! But for the more artistically challenged (myself), it'd probably want to share a brush on it's own haha

juliushuijnk

Reminds me of my evolving small image file format prototype, back from when I had no AI help.. https://medium.com/@JuliusHuijnk/experiment-in-evolving-the-...

lukevp

Cool concept! I noticed with the Aquarelle brush on iOS, if you swipe fast, you can clearly see the polling rate of the touch events on the canvas. The line looks smooth so I guess you already have an interpolation algorithm going, but this brush darkens as the dwell time is longer so I’m not sure if it’s doubling the points that are reported or what but it looks very bandy/patchy.

sen

This is so much fun, and some an awesome idea. Playing around with it gives me that same feeling as playing with MSPaint as a kid, exploring different brushes and seeing how they interact.

b1temy

Very cool! I wonder if someone more creative than me would be able to push this to do things it was not designed to do. I recently found a video where someone exploited some properties of certain transcript file formats to be able to make a primitive simple drawing app with Youtube's video player's closed captions.[0] Since a brush's code can see the state of the canvas and draw on it, perhaps there can be a brush that does the opposite here, and instead renders a simple "video" when you hold down the mouse? Or even a simple game, like Tic-Tac-Toe. I understand that obviously isn't the purpose of the brush programs, but I think it is an interesting challenge, just for fun. [0] The video I am thinking of is by a channel named Firama, but they did not explain how they accomplished it. Another channel, SWEet, made their own attempt, which wasn't as full-featured as the original, but they did document how they did it.

cc-d

very cool this one is mine https://play.moss.town/gallery/weekly-d20962c2-eb48-433f-90d... really love the site design, great job man

jpereira

Love this! A couple things it'd be really fun to see: - timelapses of things being drawn - a list of brushes used in a drawing To get even wilder, what if you could record brush strokes and then retroactively change the brush code and replay them?

Semantic search powered by Rivestack pgvector
3,471 stories · 32,344 chunks indexed