Gridform

Design Engineering

A playground for merging patterns, noise maps, and character sets, where ASCII becomes motion, experimentation turns into discovery, and every tweak creates something completely new.

Role

Visual Designer

Developer

Timeline

Summer 2025

Skills

Interaction Design

Visual Design

Tools

Figma

HTML

CSS

JavaScript

Where It All Started

It began the way many ideas start: with a late-night doomscroll.
Pinterest kept feeding me these beautifully chaotic visuals—retro monitors, CRT distortions, grainy textures, and ASCII-based motion graphics that felt pulled straight out of early anime HUDs or ‘90s terminals.


There was something hypnotic about them.
Something oddly warm and nostalgic.

But the more I saw, the more I wondered:


Where are these designers getting these ASCII textures?
Are they hand-making everything? Using niche plugins? Shader tools? What’s the workflow here?


The deeper I dug, the clearer the gap became.


There were ASCII generators… but they were mostly static, rigid, or overly simplistic. None of them captured the dynamic movement or expressive motion I’d been seeing. None of them let you experiment. None of them felt like a space.


That’s when the idea clicked:
What if I built the tool I couldn’t find?

Finding a Gap I Wanted to Fill

The nostalgia trend isn’t subtle—it’s everywhere. But the tools supporting that aesthetic felt stuck in a different era. Most ASCII sites were built around novelty, not creativity. They weren’t designed for designers or motion artists. They weren’t trying to innovate.

I wanted something more open-ended.


Something that let you layer visuals the way you might layer audio—combining, distorting, mixing, breaking, looping. Traditional ASCII generators output a single pattern. I wanted a tool that could output infinite patterns. A generative playground instead of a static converter.


That became the foundation of GridForm.

Diving into Creative Coding

Right as this idea was forming, I fell into the world of creative coding—p5.js sketches, generative patterns, motion systems, everything that blends math with expression.

It made perfect sense to lean into that approach.


ASCII art is inherently grid-based. p5.js thrives on grids, loops, motion, and endless experimentation. The two worlds clicked.


The plan was to use:

  • React for the interface

  • shadcn/ui for fast component building

  • p5.js for the generative core

But after spending two days fighting their incompatibilities, I hit a wall. Even simple sketches were glitching. The workarounds felt hacky and exhausting.

It dawned on me:


I was spending more time making the tools work together than actually building the project.


So I asked myself what would make the project fun again.


And the answer wasn’t React.


Scrapping everything and rebuilding using vanilla HTML, CSS, JS, and p5.js was a reset button. It brought back the playfulness and immediacy I wanted from the start. Suddenly the project felt more like tinkering and less like debugging.

The Moment Everything Changed

My first experiment was simple:
What happens if I let people choose different character sets for the patterns?


It worked. It was fun. But it wasn’t enough.


That’s when the idea hit me:

What if instead of combining characters… I combine entire patterns?


And what if I let users choose how those patterns merge?


The first time I tried it, two animations overlapped, clashed, and blended in ways I didn’t expect.

Patterns weren’t just layering—they were interacting.
Noise maps pushed characters into motion.


Algorithms created rhythms.
The grid felt alive.


It was chaotic, but in a beautiful way.
And that chaos became the heart of GridForm.

Designing a Space for Play

Even though this was a passion project, I approached the UX as if I was designing a full product. ASCII art is visually dense—there’s a lot happening at once—so the UI needed to stay grounded, calm, and unobtrusive.


A single vertical sidebar became the anchor.
Simple. Tall. Easy to scan. Out of the way.

Pattern Sources

  • Pattern A

  • Pattern B

  • Characters

  • Noise maps


Blending Controls

  • Merge algorithm

  • Merge intensity

  • Animation speed


Aesthetic Controls

  • Colors

  • Light/dark mode

  • Grid density


Utility Tools

  • Webcam-to-ASCII

  • Lock from randomization

  • Pattern code

  • Export options

Making It Actually Work

Performance was the one part of this project I underestimated dramatically.


ASCII generation seems simple, but redrawing thousands of characters in real-time is not a small task. Early versions of GridForm made my laptop sound like it was auditioning for takeoff. The battery would drain rapidly, and Chrome would warn me that the page was “using significant energy.”


To fix it, I had to:

  • Reduce unnecessary frame-by-frame recalculations

  • Cache values instead of recomputing everything

  • Throttle mouse interactions

  • Stop animations the moment the browser tab loses focus

  • Rewrite several heavy functions with the help of Cursor AI

  • Rethink how grids render at different sizes


These optimizations turned GridForm from “fun experiment that kills your laptop” into a tool people could actually use for hours.

Where It All Started

Sharing GridForm with the world was unexpectedly rewarding.

I posted it to Reddit almost casually.
No polished promo, no trailer, just:

Hey! I made this thing…

But the community immediately understood it—and more importantly, used it.


Designers created posters.
Motion artists turned patterns into loops.
Developers broke it down to learn generative art.
A few people even piped it into After Effects to use as animated matte layers.


The fact that the tool needed no onboarding and no documentation told me the UX was working.


GridForm didn’t need instruction.
It invited experimentation.

Cool Stuff People Said

  • I can definitely see myself using this for creative personal projects or just out of boredom. The biggest draw for me is the experimentation and trying all the different knobs to see their effects.

  • This tool is a ASCII goldmine I'm so happy

  • This is pretty awesome! Nicely done!

  • hypnotizing **, very nice

  • Super awesome. Now to figure out how to make this my website hero background...

  • Dude, gotta say, mad props for doing what most of us just dream about or vow to do "someday." Your tool is dope! ASCII art has been itching for a glow up and you just nailed it! You rock, man! 🙌

  • That is fascinating and awesome! I will absolutely use this for something sometime soon, but am not entirely sure what!!

A Completely Unexpected Honor

Submitting GridForm to the Communication Arts Interactive Competition felt like a long shot. It was passion-driven, messy in the right ways, experimental—far from a traditional polished “product.”


But out of 252 entries, GridForm was selected as one of six student winners of the Award of Excellence.


It’ll be published in the March/April 2026 issue.


Seeing something born from curiosity turn into recognized work was both surreal and grounding.

Looking Back

GridForm holds a special place in my design practice.
It’s the project that reminded me why I love building things that don’t fit neatly into categories—too code-heavy to be “just design,” too expressive to be “just programming.”


The nostalgia that inspired GridForm wasn’t about looking backward—it was about rediscovering the joy of tinkering. Of watching patterns emerge from simple characters. Of letting creativity be messy and unpredictable.


Creative coding unlocked something I didn’t realize I was missing.
And GridForm is just the beginning of that exploration.

Want to create something cool?

I can be easily reached at your convenience via Email or LinkedIn!

Want to create something cool?

I can be easily reached at your convenience via Email or LinkedIn!

Want to create something cool?

I can be easily reached at your convenience via Email or LinkedIn!