By Ryan Khosravi

March 27, 2020

Neal Agarwal is Keeping the Weird Web Alive

One of the most exciting parts about learning to code is seeing the variety of projects that are already there that show you what’s possible with tech. There are apps that exist to be visually stunning and apps that demo a cool library or tool. Then there are the Weird™ apps, the kinds of projects that remind people what creating the web can be like when they think beyond practicality.

Neal Agarwal is a Glitch creator and creative coder that really knows what it takes to make a weird app. We asked him about some of his quirkier games as well as the larger web endeavors he’s taken on.

Inspiration can come from many places! I follow a lot of talented people on Twitter, and they’re an endless source of inspiration. I’ve also kept a list of ideas for the past 5 years, and whenever I have a new idea I write it down immediately. Most of the ideas I write down are half-baked, but I usually figure out the rest later. I think the best way to come up with ideas is to read a lot and experiment often.

For some reason, even at an early age I’ve always expressed myself through creative coding. I’ve tried painting, playing an instrument, animating and countless other mediums - but expressing myself through creative coding has always felt the most natural and fulfilling to me. I have lots of ideas and stories I want to tell, and learning to show them through this relatively new medium has been really fun.

I think the feeling of being on the frontier is one of the big factors. People have tried countless different painting styles and techniques over the past centuries, and so that medium has largely been explored. I’m sure people will continue to discover new styles/techniques, but it’s definitely an uphill battle. With creative coding it feels like we’re just at the very beginning. With every new creative tool comes opportunities to make and discover something new, and I feel lucky to have a chance at that.

There’s also an aspect of self-improvement - every creative wants to master their medium. It’s especially true with creative coding since the skill ceiling is so high. I think I can do this for the rest of my life and still not reach that ceiling, there’s just so much to learn and that’s what makes it exciting.

I’ve always been fascinated with data visualizations, I think it’s because it’s where code, art and math meet each other. The goal with a lot of projects on neal.fun is to visualize the world in new ways. What’s so exciting is that the web enables countless new types of data visualizations that are not possible in print media. Endless scrolling, unlimited scale and animations/music are some examples of the things that are not feasible in print media.

For my process I try to get a minimal version of the idea working early on. The goal is to validate or invalidate the idea before committing too much time. From then on it’s basically just experimentation and alchemy. There’s all kinds of roadblocks that come when making these projects, like design and technical challenges. For instance, a common problem is that an idea works on large screens, but not on mobile or vice-versa. I have to keep an open mind when working on these projects and pivot constantly. The idea I start out with is rarely the idea I finish with.

The reception to these projects has also been so rewarding. For instance, The Deep Sea has been viewed over 10 million times and it’s even appearing in some aquariums! It just makes me want to improve and make even better content.

My first dive into creative coding was when I was 10 and created a site to show off my favorite flash games. It was basically a mini game-portal but only the games I liked. I used a WYSIWYG editor to make it, but the editor also allowed you to view the underlying code. Eventually I ended up learning basic HTML and CSS so I could add more complex features to my site.

A year later I found Scratch and that was when I started learning broader programming concepts. I would make small games and publish them - each one slightly more complicated than the last. My initial goal was to just learn how to make games, but eventually I realized I loved coding in general. Later when I started to learn Javascript, I was surprised at how much I already knew because Scratch gave me a solid foundation.

Unfortunately, creative coding was never part of my formal tech education. In many ways getting a computer science degree is the opposite of creative coding, which is probably why I didn’t enjoy it. I’ve always used coding to express myself, and so when it was suddenly about coding assignments and computational theory I sorta tuned out. I actually created neal.fun because I was getting frustrated with coding for school instead of for fun.

I have a lot of projects that are in various stages! I try to pick projects that will force me to learn something new. I have a few “dream” projects that I’ve thought about for a long time but they’re still not quite there. Stay tuned!

Check out Neal's Glitch projects on his profile and all his other cool web projects over at neal.fun.

***We're building a more powerful Glitch, learn more he*re**.