31 days ago I decided to give myself an ambitious challenge. I planned to make one video a day for 30 days about creative programming and the things I’d build during the month.
Why?
First, I wanted to improve my programming capabilities. Over the last few years I’ve tinkered more and more with coding, gradually going deeper and building more interesting things. Lately I’ve been coding a lot more and having tons of fun climbing the learning curve, so I wanted to turbocharge this and see what happened.
Second, I wanted to share my work more. When I asked myself what activities make me feel proudest and most like myself, they all shared the idea of creating something other people can interact with, read, listen to, or play with. I love putting things out in the world and was inspired by the idea of creating 30 new things in a month.
Third, I wanted to experiment with batching my focus. I was drawn to the absolutist approach to 30 projects and videos in 30 days. I wanted an ambitious way to spend my month focusing on one thing alone.
Yesterday was day 30 and I am proud to say I succeeded. I got a video up every day and even managed to surprise myself with many of the things I built.
Now I want to reflect on the experience and list some of the things I learned during it. If you’re interested, I wrote a Day Ten Check In post too. You can also skip the learnings and just check out the projects here.
Ideas are everywhere. As soon as my brain understood that I needed new ideas almost daily, it started finding them. The tricky part of doing so many new projects so quickly back to back is that the ideas that you start noticing can become caricatures if you aren’t careful. It’s almost like my brain was trying to suggest ideas it thought would be easier or most similar to things it had done in previous projects. I had to be intentional about rating the ideas that came to try and keep a high bar of interestingness and also to seek out ideas in new idea landscapes rather than over farming a particular one.
Building quickly makes it immediately obvious which things matter most. I got very attuned to my own curiosity and the projects that actually made me excited. I also got better at estimating how long some idea would take me to build. Throughout the month I’ve been reading Ken Kocienda’s Creative Selection. In his book, he talks a lot about how important fast demo’s were to the culture of exceptional and innovative products at Apple. It was cool to feel some of that power firsthand.
As you may surmise from this blog’s name, I like doing different things (music, coding, writing, etc). I love that fact, but it can be hard to do deep work when I am constantly having my interest piqued by different things. I recently asked Tim Ferriss at SXSW what he has found helpful for juggling many interests. His answer was to block time for each, and not on the order of hours, but more like weeks / months. I realized I’d sort of already been doing this. I’d spend one month immersed in a short story I was writing and then naturally drop it for a month while I wrote new songs. My previous framing for this was that having multiple projects allows you to switch to another when you are bored. This is true, but I think bringing more intentionality to how I block time for my interests could be great. This project was my first “formal” test at how dedicating longer time blocks to only focus on one interest at a time would feel. It felt very freeing. The “one new video + project a day” piece was part of the test, but I think in the future when I replicate this I will simply adopt the “this next month is for X” aspect. This forces me to stay focused on the project at hand and more importantly fight my rising boredom by making the current project more interesting rather than switching to another creative project entirely. I think that lesson alone makes the last 30 days worth it.
Social accountability and grand challenges are a wonderful tool for staying committed. After I announced that I would be doing a video everyday, I knew I had to less I risk public “failure”. Even though I knew my “public failure” would amount to maybe a handful of people realizing I quit, what mattered was that I didn’t want to let myself down by being the type of person to announce a goal and then quit. Grand challenges like this also imbue purpose to a given time period in your life. Throughout the month I knew my daily challenges were in service of a larger mission and body of work. That broader context helped me stay positive while in the weeds of some bug. During my weekend inspirations I felt like I had a meaningful reason for noticing the things all around me and the way normal things are presented and designed. The tight feedback loop of idea → project helped build my confidence in my own abilities and plans for what I’d make next. “Wouldn’t it be cool if…” no longer felt like fun coffee chat musings and instead felt like a real brainstorming session for something that would exist if I wanted it to. It was also just fun to have family and friends aware of what I was doing, playing with my projects, leaving comments, and sending me inspiration and ideas throughout the month.
To learn new things, start with the cool thing you want to exist. I’ve learned this lesson again and again as someone who naturally goes the self-teaching route. When I wanted to get better at working with audio files, I built The Hovertone a musical instrument you play with your mouse. When I wanted to learn how to use a user’s camera, I built Joiner. When I wanted to get more comfortable with APIs, I wondered which ideas of mine could benefit by pulling data from APIs. I didn’t lookup “cool API based projects”. I consulted my list of ideas and saw 1) a website that changes color based on the weather outside and 2) turn your Spotify into an iPod. Then I built The Weather Station and iPodify using the free weather API and Spotify API. Start with what interests you, then apply the things you want to learn in service of building it.
It is time to get comfortable using databases. For any project that required storing user input, API keys, or anything else I’ve used local storage. But I am ready to dive into databases now. Will probably use Supabase.
Overworking creates bad work. The days I was burnt out I either ended up making a small project that I wasn’t super proud of or creating a video that didn’t adequately represent the project.
Presenting work is its own creative challenge. I became super aware of how an idea could best be described after taking several takes to explain it. I also got better at quickly summarizing what I mean by “creative programming” and why I like doing it.
I feel a larger ambition growing in me to build a (still creative and fun) product that solves an issue for 100 → 1000 people. Each of this month’s projects represents a possibility. I do not want to dismiss them as “toys” or “experiments” because many of them are awesome in their own right. I also believe starting from your own curiosity and exploring even small or silly seeming things can lead to breakthroughs. However, the truth is I want to apply what I’ve been learning to a single project that at least 100 people love. That will, I hope, come soon.
The last five or so days were the hardest. I felt satisfied with the things I’d built in the first 25ish days and the workload caught up with me. Finding that last bit of energy to power through was challenging. But two of my favorite projects from the month came in the last eight days: The Hovertone and Joiner. So I realize that I can’t forget there is always a next best project up ahead.
You must inject yourself into your work. Do things your way. Forget about how you “should” do things or if you’re “doing it right”. Did you make what you wanted to? Are you proud of it? Make your work in an established medium true to your own sensibilities, interests, style and humor. I had the most fun when I was building things that reflected myself and day to day life most truly. I blended weird fictional elements into my work, made projects inspired by some of my favorite music and artists and the things I was reading, added references to my own city and favorite spots, and included easter eggs of my favorite products, books, music and more.
Thanks to everyone who followed along, checked out the videos and projects, or left a comment or like. This was amazing and I am already pondering my next 30 day challenge. I am very tired and ready to recharge my creative battery for the next project. I sense I will enter a writing mode soon where that becomes my focus for a while. More to come!