Me and Coding
I’ve been getting back into coding the last few months. I dipped my toes into some hackerrank puzzles/quizzes which were fun! Well… except when the prompt is unclear or doesn’t align with the tests. That aside, it brought a lot of joy to code in JavaScript again and see my result appear on the browser.
Over the last few weeks, I spent a couple hours here and there to work on a project that addresses a problem I had as an artist: handling commission requests. I created a drawing request form.
A little background: I drew a lot growing up. So much that I had hoped to work in animation and illustration. Computer Science came along and I fell in love with it (and my very traditional Asian family approved). When I became a full-time software engineer, drawing took a back seat as I was trying to learn and grow in the ranks. After becoming a senior engineer with some stability, I felt like something was missing. I needed hobbies! I started doodling again after a very long hiatus. I posted on Instagram a series of female Muay Thai characters. That led to steady and significant growth on my account. I had a small community! Commission requests were landing in my inbox, and I was super excited and flattered! Little did I know that it came with a lot of challenges and effort beyond drawing something cool...
Prototype V1
Yep, project management (among other skills) became a must. Fortunately, experience from my day job as a senior engineer/manager helped. One of the biggest lessons I learned through trial and error was to put in guardrails for client requests (ie give them choice but not too much!). I remember I would get some of the strangest requests that diverge from my drawing specialty, which was cute anime style fighters. (Someone once asked me to make them an animorph!) Eventually I made a form that had very clear guardrails on what people can request from me. It also made my pricing easier. A lot of this was simply handled via google sheets & forms. I’m currently using request form that’s built into Squarespace. (See Commissions link above)
That got me thinking about a coding project. I thought, “why not create something where I can eventually introduce my own delightful experience?” I eventually prototyped something for handling and viewing commission requests.
I’m treating this project right now as an exploratory baseline project. It’s to explore, try things out, see what I like and don’t like, and relearn things. I like to think of it as the sketchbook equivalent for coding (a codepen playground is probably a more apt comparison).
Right now, it’s running on Python, Flask, and SQLite for the backend. React on the frontend. State management has been simple enough that Redux (or similar) hasn’t made an appearance. As I was working through the code, I realize the are numerous opportunities for fun features. Two feature areas that come to mind are animation and AI. With animation, I can think about making the UI look more like a video game style pick-your-character screen. With AI (done responsibly and not stealing others’ work!), there could be opportunities for a chat bot/virtual assistant helping me or a potential client.
More on this later as I add more features and actually put in unit tests. I haven’t deployed this yet despite going down the Google Cloud Run rabbit hole. But when I do, it will be linked here!