Halkony’s 2024 Birthday Year in Review

Today, one day before New Year’s Eve, is my 29th birthday.

Tactically, it’s poor timing for a birthday. But the timing of my birthday gives my New Year’s resolutions a kick of spice. My resolutions are never “It’s a New Year, I’m gonna be a New Person.” They usually take the form of “Holy shit, I’m gonna be fucking 30 soon, I need to get my shit together.” What a kick in the pants!

I’ve done a lot this year that I’m proud of, even if I feel uneasy about my life’s trajectory. Today, I’ll be showing off my most impressive projects this year, sharing my best ideas for apps and products, then closing with my more serious thoughts on getting older (which seems like a fun yearly tradition).

My Coolest Projects

Pretty Ninja – Interactive Twitch Minigames

My app made it easy to play with 3D tarot cards on stream

At the beginning of the year, I created a website for interactive Twitch minigames. You would log in with your twitch account, make a new browser source in OBS, and then control the minigame through the webpage. The first minigame I published was a tarot minigame, where you could do a 3 card draw easily using an OBS dock for controls. The picture above was my first user.

I had the domain name of https://pretty.ninja ahead of time, so I used it for the project. The idea behind the name was “Oh, she’s a pretty ninja,” or the more youthful and radical “Wow dude, that’s pretty ninja.”

I’m really proud I got this working, but it took me 3 months to build. I had to learn an entirely new programming skillset for web development. One of the hardest bits was getting the Twitch logins to work correctly.

For the more technical folk, it was just a django server running websockets using this Unity library. The user would log in using their Twitch using django-allauth. From there, they could interact with widgets that would send messages to a Unity instance that the user adds as a browser source in OBS. If you just publish commands to the same topic as the browser source, you can hook up the game to a web page. That page could be embedded in OBS or possibly inside of Twitch bios.

I could write a whole article on the post mortem of this project, but suffice to say, it was a failure. I think interactive twitch widgets are a good market to get into, but specifically with the tarot cards and another minigame I wanted to make, I didn’t have the 3D art and game development skills to make it easy to sell. I used this project as a reference/motivation for the rest of my projects this year. Eventually, I took this project offline to save on cash.

Creating Funny Vtuber GIFs in Blender

I wanted to improve my 3D art skills as a result of Pretty Ninja, so I made these whimsical GIFs for some vtubers I know. I made a GIF every day for about a week. I uploaded them to Tenor GIFs so they could be used on Discord, and I’m pleasantly surprised that some of them did well.

You can use these GIFs for yourself by typing their titles into the GIF search.

NEP LET IT BURN – 3K Shares
At 3K shares, the first GIF I made is the most popular. This animation got me familiar with posing and moving VTuber models. I also learned that continuity isn’t necessary for an interesting end product. In the second part of this gif, I moved the explosion closer to the subject to get a more ethereal glow and keep the chaos in the frame. Our brains don’t think like this naturally, but in art like this, it’s sensible and encouraged.

NEP GOOD MORNING – 38 Shares
I wanted to mess around with the flowers and trees addons for Blender, so I took the pose from the first GIF and put the subject in front of a sunrise. The flora in this picture doesnt look quite right, but compositionally it did okay as a frame in frame picture. I think this GIF didn’t do well because the movement is lackluster and hard to distinguish at small scale.

NEP GOOD NIGHT – 73 Shares
With a good morning GIF, a good night one was the next logical step. The fun part of making this gif was lighting the room with the moon. I found the “Good Night” image on Google and pasted it into the scene with some glow.

There are some minor animation errors. Notice that the blanket is far too small for the bed and the subject’s eyes don’t start closing until the camera zooms in. Overall, I like this one, but it didn’t do very well. Maybe its because homies dont tell each other good night no more ๐Ÿ˜ข

OTA TEARS – 131 Shares
This one was pretty funny. Getting the weeaboo wallpaper was a pain in the butt. I feel it was a mistake because it’s very distracting. Ine of the funniest parts of the GIF is that the text randomly appears on the bowl, but the eye doesn’t catch it very easily. If I were to redo this one, I’d look for a better bowl font as well fixing up the camera work to better lead the eye.

OTA FRIDAY – 1K Shares
I asked the subject of the last GIF for a suggestion, and he said he wanted a GIF for “Feet Up Friday”. I obliged, and gave him a nice hammock on the beach for his fat cat ass. With this GIF, I had fun experimenting with using the environment to create a narrative.

The focal point of the image is the sunset and the cat’s head, so compositionally it does well. I think I did especially well with the head and the secondary motion on his ears. At first I had his tail tucked into the hammock, but it looked weird just having his leg there, so I cut a hole in the hammock to make the subject use his tail in an interesting way. There’s also a slight animation error with the sky wiggling back and forth, but overall this one turned out pretty popular for the message it sends.

NEP BUTTERFLY – 7 Shares
For my next GIF, I wanted to experiment with more up close gestures and specifically arm and hand movement. I remember having a lot of trouble with the lighting in this one, so the subject’s shadows are especially harsh. I think I had to add glow to the eyes just to get them reasonably lit. It doesn’t help that her expression feels especially uncanny. This one performed poorly because it’s neither cute nor expressing anything meaningful.

NEP ALIENS – 340 Shares
This one was really fun. The VTuber in this GIF runs a weekly X-Files watch party, and I wanted to make something funny related to that. I had a lot of fun getting the spirals in the eyes to animate. Fun fact: I posted this GIF for review in a more serious computer graphics discord and it was promptly removed. My other work was happily reviewed though, and I got some good advice on lighting that I implemented in my next GIF.

NEP WESTERN – 974 Shares
I’m especially proud of this one. Using the lighting advice I got from the 3D art discord, I made this one really pop. I had also found a Blender addon that was good at simulating skys, so the sunset is especially nice here. I think there are 12+ lights in this scene that each add a small effect to make things look good. It’s like doing makeup.

There’s an especially clever light manipulation when she first draws the banana. I noticed on review that the banana was poorly lit, so I wanted to add a fill light for it. The problem was it screwed up my lighting of the subject. So I used a process called light linking so the fill light would only hit the banana. Notice that the banana is dark when she first draws it, but then it lights up to add emphasis. This is the light linking in action.

OTA CAR – 2 (?) Shares
My last GIF went out with a bang and is the most risque of the bunch. Unsurprisingly, Tenor rejected this GIF the first time I sent it for being to inappropriate. But I reuploaded it, and it said it was approved, but it doesn’t appear in the GIF search for me. I thought this GIF was shadow banned, until I met a member of Ota’s community that said it was his favorite gif and he uses it all the time. I have no idea how he finds it in the search, but there might be some NSFW button you have to enable as part of the GIF search. So I know this GIF has a lot more than 2 shares. Kind of strange.

What surprised me about these popular cat GIFs is they usually arent used on the server I made them for. It made me realize that a good GIF is effective advertising on other servers. If you’re interested in getting GIFs like these for your specific model, you can message me on discord @halkony.

Overall, each gif took about 3-4 hours to make and it really beefed up my Blender skills.

Creating Cute AI Images for Etsy

At this point, I was getting interested in AI art. I had seen some youtube videos about generating AI art to sell, and thought it looked fun so I created some AI workflows to generate high-res PNG art like the above. I fine tuned the different models and LorAs and I’m very impressed with the results.

I was surprised to learn that the most popular PNG listings on Etsy are AI art, and its something you only notice if you’ve spent hours fixing up its imperfections like I have. I listed some of the images I made on Etsy and made a whopping one sale of the prom shoe art. At the time, I still had an older GPU, so these images took a long time to generate and most of them needed touch up in photoshop to look any good. It was a fairly grueling process, but I should’ve kept at it.

I learned that the real way to make money on Etsy is not just to make a popular listing, but to have a well-stocked store. I learned that more often than not, if someone clicks on your listing they will usually click on your store. That’s a good sign that the product I was selling was interesting, but didn’t fit their particular needs. Having such a small store inventory worked against me.

Now that I have a more powerful GPU and AI image technology like FLUX.1 has been making amazing images, I will likely revisit this project this year. Most people don’t know this, but you can use other clipart images on Etsy as a prompt for generating new clip art. This is especially helpful if you want to match the composition or art style of a specific image, which I ended up doing for the image above.

January Update: I’ve taken another shot at this, and you can check out my results here.

Color Combat – An Online Color Naming Minigame

I wanted an easy game to make, so I made a color matching game and published it here. It’s basically draw.io for colors. A color pops up on the screen, and letters slowly appear until you guess the name of the color. There’s also a mode for matching colors on a color picker, which is espeically useful for artists.

The skills I’d gained making Pretty Ninja transfered well here. I learned from this project that my time limit for finishing a project is about 3 weeks — anything longer than that and I other lose interest, motivation, or both.

Using LLMs to Write Non-Fiction Books

I briefly tried to make AI generated e-books for sale on eBook platforms. I used a fine tuned ChatGPT model to generate each chapter, and then stitched them into an EPUB using some Python scripts. Unfortunately, Google Play did not want to sell my books. I think it was because I submitted the age range as 0-18 (which is misleading). I submitted an appeal, but it got lost in the tech support ocean.

I put reasonable effort into this, editing and rewriting sections of the AI author’s work to make the book more cohesive. I even had the AI reference other relevant books using RAG. Since I have all the code still, I might give this one a second shot. Specifically with the Kindle store.

Creating a 3D Printed Video Game Controller

I’ve had a 3D printer for about 2 years, but didn’t print much more than hangers and organizers. In November, I started playing Super Smash Bros Melee again. People that play the game know it’s hell on your hands, so I made this 3D printed fight stick that I found online. Playing with this is way more comfortable.

It was really easy to make parts wise — I just needed some wire, mechanical keyboard switches, and a Raspberry Pi. However, the software on the controller was very buggy, and I couldnt quite find out why. Also some parts of the construction were shoddy or confusing, so getting this model into a sellable state will be a challenge.

In Summary

I’m especially proud of my web development achievements this year. It was a totally new skill to me but I made some cool websites. And the art I made along the way was satisfying. During my Blender Binge, I made some Twitch emotes that did quite well this year.

Looking back though, doing any kind of app development is a __lot__ of work. Like a lot a lot. And it’s even more work to actually make people happy and willing to pay for it. You’re competing with massive teams with lots of resources, so unless you create something unique and different, it’s easy to do a lot of work for nothing.

But let’s face it, I’m young, and sure I can take risks, but even though I have good ideas, that’s no guarantee I can make them profitable. After doing the electronics work on the controller, I realized I’d get a let more mileage making interesting gadgets than interesting apps. The bar for a useful gadget is just way lower. Screw app and game development. I’ll be focusing my efforts on gadgets for 2025.

My Best Ideas This Year

  • A program that cuts your Twitch VODs down to the clips where your heartrate is highest
    • High heartrate = excitement = excited viewers, so having an app that can produce cuts at those points would be incredible. Especially for Youtube shorts.
    • This is a logical extension of the ChatGPT Highlights experiment I did last year
  • A twitch bot with the command “!buyfrom <any twitch username>” that has an up to date link to another streamer’s commissions page.
    • A common problem with small streamers is navigating nests of links to get to something you want to buy
    • This would be a feature similar to the “!so” shoutout, but Twitch users are allowed to set a custom message/link on a website so the shoutouts have the most up to date call to action.
    • Of course, only the streamer or mods would be able to use the command in chat. It’d be especially easy if streamers could update that message directly from their chat.
  • An AI that creates a transcript of your stream in real time, then creates a “BREAKING NEWS” popup on your stream summarizing the things you just said
    • This one seems especially playful and goofy ๐Ÿ™‚
  • A 3D printed digital choreboard with custom reminders
    • I want a way to remember doing my chores that doesn’t involve my phone, because that never works :\
    • Basically I want a slip of paper next to an LED that lights up every few days, and I can dismiss it like a popup once I’ve addressed the reminder.
    • I’m currently prototyping this idea, it would be incredible if I could sell these in Q12025.
  • A 3D printed toy where you can plug in your gamecube controller and test your reaction time with your friends.
    • I picture this as a “3, 2, 1 GO” style reaction test with up to 6 controllers. You press A as soon as you see go, and it tells you how many frames your reaction time is, with the fastest player being the winner.
    • I think this would be modestly popular in the Smash Bros scene, especially since it could be battery powered and a fun way to improve reaction time with your friends at locals.
  • Discord bots powered by ChatGPT that will simulate random political discourse on my Discord Server
    • I’ve learned a lot about AI this year, and I’m becoming more interested in how AI can be used to create simulations.
    • The bots can use Retrieval Augemented Generation to comment on popular tweets and internet memes, especially now the LLaMa comes with image vision.
    • This is more of a fun side project with the potential for some entertaining satire

BONUS IDEA

A tinder-like app for swiping right on game nights with your friends.

A pictures’ worth a thousand words with this one.

The main idea is you would sign in with Steam or Discord, post that you want to play a game at a specific time, and people on your friends list could swipe right if they’re interested or left if they’re not. Swipe up would be an RSVP.

I think this would be especially useful for streamers looking for collabs or interesting content that their followers want to see. Instead of tapping through different pictures, users would see what kinds of games the person was interested in playing. I got a prototype working in October, but remembering how much intense work Pretty Ninja was, I scrapped the project for another day.

Getting Old

This is the more serious part of the article.

At 29, my body has undergone some permanent wear and tear. I chipped a tooth in a common spot. And now it doesnt feel the same when I eat. But I got used to it. That’s a pretty benign example. But right now, the formula for getting old is obvious — get used to permanent changes, whether you like it or not.

Getting old sucks.

Unfortunately saying as much usually gets an “Oh, you have no idea bub,” from anyone older than you. The comment makes sense on the surface. Life gets crazy. You have kids, lose parents, gain and lose friends, push the limit of your finances and energy. There’s a lot going on.

If you’re in your 20s like me, older folk see that you’ve had the benefit of being a kid for more than half of your life. And being a kid is like being high. The world is wonderful and joyful and stays that way until the drugs wear off. All the while your caretakers do a lot to accomodate your stumbling around. So contempt for your ignorance seems like a natural response.

Age is a primal insecurity, and our culture tightly pairs age with suffering. As proof, consider the following. Ask an older adult “How do I age with grace?”. Do you think they would give you a thoughtful reflection on their strengths and shortcomings and do their best to give you hope for the future? Hell no. Most people would be offended by the question (even your parents). It’s an excellent question held back by Western cultural mud. When I’m gray and look back at this, I’m sure I’ll cringe at how little adult life I’d lived. And how my beliefs have changed. But it would be dumber not to ask and then act like all of this is surprising when I’m __actually__ old.

To be fair, it’s not like older adults won’t tell you how to live your life (they will). It’s just very uncomfortable to acknowledge that living your life and turning into a liver-spotted, gray prune are the same thing — if you’re lucky. That’s a pretty important detail. Looking to Boomers or Gen X for advice about aging is a losing battle. And the scary thing is I will be switching sides in the near future. The correct answer to aging well is probably exercise, but older adults dont seem to know that anymore than I do.

Age became an especially awkward topic in the Information Era. Age is the most basic hierarchy we have. But with so many disruptive technologies (the Internet, AI) and ever shuffling political power (Trump, wokeism, etc.), we’re conditioned to treat hiearchies with suspicion and contempt. Our current social situation isn’t new to history, but the boom or bust cycle of social trust seems to be a very big bust right now.

It’s no wonder nobody seems happy with their lot in America. Geting old gets you no respect. Raising a bunch of kids gets you no respect. Instead we get the most respect for money and its two surrogates: fame and attention (Hawk-tuah!). It’s a pretty obvious result for a country with huge economic prowess, massive debt, and a tipping culture that emphasizes economic generosity. We foolishly honor symbols of wealth instead of the things that create wealth — conquering nature and loving one another.

We’re marching backwards and off-balance. I blame the internet and the existential dread that it amplifies. Everyone is getting more time and ammunition to cultivate their inner asshole and that asshole is getting ready to fart.

I hope my view is just obscured by the Internet. Guess I’ll have to get old to find out, huh?

Hi ๐Ÿ‘‹
Want to see the cool stuff I do in your inbox?

Sign up to get more programming, gaming, and 3D art content.

We donโ€™t spam!