30 Days of Creative Programming: Day 10 Update
One new creative programming project a day, for 30 days.
I recently updated by Twitter bio to “creative programming”.
I like this because it describes the type of coding I enjoy and describes what I want my overall online presence to be. Like a television channel or radio station, I hope the Polymathematics corner of the internet can be counted on for creative programming, whether that comes as an essay, a new website or application, video, or song.
But today I want to focus on the actual coding aspect of creative programming. I thought I’d invented the term even (though I knew the thing it describes has a decades long history), but in my experimentation and research I’ve come across a super cool cadre of programmers who use the term creative coding to describe something similar to what I am after. I typically describe creative programming as my attempt to make the internet a weirder, more playful, and more interesting place. The way I’ve attempted to do that so far is with sites that are colorful, have hidden aspects to them like secret doors leading to unlisted pages, are full of surprises like a glass of OJ that suddenly spills and changes the site background when your mouse gets too close, and invite visitors to engage with the site and its content rather than simply consume it.
As I’ve become increasingly into this sorta programming, I’ve learned a lot and that in turn has made me more interested in this sorta programming. It is that beautiful feedback loop we are all after. So after the wedding and our mini-moon, I decided I’d double down on this fun experiment I’ve been running and set myself a challenge. That is how the thirty days of creative programming challenge came about. I decided that for thirty days, I’d make one video a day about creative programming and the things I was building with it.
Today is day ten. I am 33% of the way there. So I want to give an update on how it’s going and some of the cool projects that have come out of it. Here are some of the lessons I’ve learned so far.
Documenting creative process is extremely hard. There have been several days so far where I am very proud of the actual project from the day and pulled it off with very little stress, only to feel let down and stressed at how the video documenting the project turned out. The ability to showcase ones’ work is as much an art as the work itself. To this end, I am looking for recommendations for any tools or software that make showcasing websites easier!
Ideas are everywhere. As soon as I told myself that I need one video every single day, my brain started sending out dozens of ideas. I’ve caught myself noticing my environment and routines more too, looking for inspiration for my next project in the telephone pole posters, restaurant menus, or t-shirt someone near me is wearing. I feel like I am in a creative flow state where I am easily inspired by common things. This feels amazing.
Programming gets easier the more you do it. This is obvious, but feeling this viscerally since coding everyday without exception is a great reminder that this is how momentum gets going and improvement happens. I find myself using Ghostwriter less lately and catching when it is wrong faster. This has let me get into a flow session more easily where I am writing continuous lines of code that are outputting exactly what I wanted.
Consistency leads to confidence. The past few days of the last ten I find myself believing I can realize any idea that pops into my mind, no matter how strange or complicated it initially seems. Of course once I start building I often encounter that complexity and come to appreciate it, but the confidence to start is the spark that ignites the bonfire.
I am starting to get better at framing my own ideas to viewers / readers. Creating extremely short (less than 3 minute) videos that explain why I built a particular thing requires pacing and storytelling. I feel like I am starting at a pretty decent place with this, but can see how many levels above me there are.
Leaning into my particular strengths, interests, and “weirdness” creates cooler stuff. I’ve understood this for a while, but with something as vast as programming with so many people far beyond my skillset, it is easy to become intimidated and want to emulate the kinds of things I see others building. But the most fun and interesting stuff I’ve made happened when I simply followed my own curiosity and didn’t stress too much if the way I made it happen isn’t how an expert would have. Trying not to optimize prematurely.
Now that I feel my foundation of self-taught programming skills is getting more solid from several projects, I am feeling the desire to start mixing in some more traditional learning approaches like video tutorials and technical documentation.
So far it has been extremely informative and rewarding. I’ve surprised myself several times which is always a good sign. Below you can check out some of the projects I’m most proud of from the first 10 days.
Day 2: Monochrome CV
This was an idea I woke up with. I think it is because we’ve been taking evening swims and I had the idea for “No Diving” mode. It is a simple personal CV / portfolio site with three fun modes.
Day 4: Marquee Madness
I was inspired by a local restaurant’s colorful website and wanted to make something with tons of color. I coupled that curiosity with another idea I’d wanted to try for a bit involving tons of scrolling text. The result is a super playful portfolio site that still feels simple.
Day 8 / 9: The Internet Payphone
After the weekend inspiration gathering I had the idea for an internet payphone. The initial idea was just to render up a payphone and put fun stickers on it. Then I had the breakthrough idea that makes me like this one so much: calling different numbers connects you with different projects of mine. I had a blast figuring out how to handle the JavaScript for connecting visitors to the right project and adding the little details like the sharpie graffiti and various stickers. Plan on continuing to iterate on this and make it mobile friendly soon.
Day 10: The Weather Station
Yesterday was the first day of Summer and also the day our AC stopped working. Because of that, my day was sweltering. That’s when I had my Day 10 idea, a website that would simply change colors based on the weather. I knew it would give me a chance to work with APIs which I haven’t done in this 30 day challenge yet. Then I combined it with another idea I wanted to execute, which was inspired by this 1984 Mac OS control panel design. The result is The Weather Station, which gives you a sense of the weather in your city at a glance.
I look forward to the next 20 days and hope you will follow along with what I come up with. I’ll do another check-in at day 20 and a final review at day 30!