Finding Inspiration
If there is one thing to know about me, it's that I love making things. Whether I'm baking, sewing, dabbling in nail art, or of course coding, I love being able to take an idea and bring it to fruition. With programming in particular, one way I get those creative juices flowing is through personal projects. But I'll be honest, sometimes it's tough for me to come up with the next 'great' idea. It's common to think of software as a means to solve a problem, but what if you don't have a problem staring you in the face?
My Inspirations
I find that I take inspiration in the things around me. Be it a pattern in nature, or something else physical, I often wonder if it can be recreated digitally. A friend of mine introduced me to generative art a few years ago, which really piqued my interest. One of the first pieces I wanted to create was a geode. I just think they look neat! And it was fun figuring out how to draw an irregular outer crust, replicating this shape in its inner layers, and simulating a crystal-like effect in the middle. Another piece I am proud of is my watermarble design. This one is particulary cool because the code needed to draw the shapes, while simple, really mimicked the steps it takes to create a watermarble manicure. But instead of dropping different polishes in a cup of water and dragging them with a toothpick, the program would take concentric circles and translate points periodically around each the circle inwards towards the center.
The biggest motivation I have for starting a personal project, however, is to practice a specific technology or design pattern. I'm definitely someone who learns by doing. And while tutorials are a great starting point, I find a connection is made much deeper when you can apply your learnings into your own work. The best example of where I've done this is with my nail polish app. I started this project back in 2021 — a time when I was working primarily on the back-end at DigitalEd. I was really craving more front-end work though, and wanted to hone my skills with Vue. My collection of nail polishes had also grown exponentially since the pandemic, so an online catalog really came in handy!
What I've Been Up To Lately
In my previous blog post I hinted about a couple of personal projects I've been working on since being laid off. After deciding to take a bit of a pause before seeking new employment, I thought it would be the perfect opportunity to feel fulfilled while still taking the time to focus on myself. In the beginning, I didn't know exactly what those projects would be. But I did know that I wanted to work more with React, and keep those skills fresh. And I also wanted to experiment with Material Design, after previously working primarily with Bootstrap.
It took a little while for inspiration to strike though. At the end of October, my partner and I ended up visiting The Strong National Museum of Play in Rochester, NY. There, I saw a game where these disks of numbers could be rotated, with a goal of making each column of numbers add up to 100. I immediately knew that I wanted recreate this game, and even thought of the different ways I could customize it, so that the game was accessible to players at any level. In my version of what I call "Sum Disks", players can choose the target sum, how many disks there are, how many numbers per disk there are, and whether the disks should include negative numbers or not.
When conceptualizing the interface for Sum Disks, I ended up thinking of a word variant to the game. Instead of disks of numbers, my idea was for disks of letters to be rotated in order to form words. I've always enjoyed word games. Every day, my father and I still play the Wordle and share our scores with eachother. And it is now really fun being to share with him what I call "Word Disks".
In February, I actually returned back to the museum to see the physical disk game one more time now that Sum Disks is complete. It was a really rewarding experience, getting a chance to relive the excitement I felt last October. This game is particularly important to me, not just because it brought me joy in a time of uncertainty, but also because it reminded me of my Caribou days — back when I created my first web game. Except now, using a more modern framework, and applying the skills I've learned throughout the years.