In 2017 I spent a while messing around and creating a system to code and control my computer via voice. I was experiencing RSI pain at the time, and thought I should be proactive and have a strategy where I could still work and use my computer in case it kept getting worse and it became an impedance to create such a tool. I tried every voice to text I could find, and unfortunately for me the only acceptable one in terms of quality was Dragon Naturally Speaking, which was commercial and Windows only (I use Linux). I decided to build a virtual machine running Windows XP which ran the voice -> text translation, and then run a local server on the Linux side which would receive packets of text from the virtual machine. It was then a matter of parsing the string for language primitives, as you'd need a custom alphabet of keywords to do certain actions like type any given key combination, and inventing your own primitives for this reduces ambiguity (voice detection is only so accurate and the use case here means it's going to be less accurate than usual since you are not speaking in expected english, plus you want everything to be single syllable).

The process of building a dictionary of primitives and shorts was very much akin to what court reporters / Stenographers do to type fast, and was also probably related to my RSI given that I started my career out as a Stenographer. Something I regret in retrospect.

In terms of voice coding, things really have gotten so much better since then where we now have amazing free and open source options for text to speech, and we've also seen a proliferation of apps used to code via voice. I'm partial to Talon, though I don't do any voice coding today. https://talonvoice.com/. Github also just announced a voice to code copilot type thing, and at this point given the advances we're seeing in AI I'm sure I'll be okay if my RSI gets bad. This video was one of the things I watched and helped me in building the system, https://www.youtube.com/watch?v=8SkdfdXWYaI

I'm also building a video game, and plan on building many more. I'm writing it in a monorepo where I have a common shared foundation, and then apps using and building on that foundation. I believe in dogfooding my code, and have built a bunch of things with it towards that end

The thing I'm happiest with and use the most is a small and simple music player. I never could find a replacement Foobar2000, so I wrote my own. It runs nearly 24/7 on my PC's.

I've also built a breathing app after discovering that breathing exercises were like magic in terms of improving mood and reducing blood pressure. The one I built was modeled after https://github.com/jithware/brethap, and I mainly built it because it was trivial to do and Firefox kept putting the web tab to sleep. If you have high blood pressure, I 100% recommend exploring different breathing exercises.

I've also built two different GUI wrappers around image generators. The first app was built around VQGan+Clip back before Stable Diffusion, and it supported swapping the backends to change generators. I built it as a web app with Svelte, and it let me explore the images and auto-generate based on a theme or with a given sentence structure where parts of the sentence could be sampled from a pool. The second one was much the same, but it was built with my monorepo, it was built around Stable Diffusion, and I added an image-to-image component where I have a simple UI to draw on the input image through the app. The usefulness of this project is near 0 as there are better open source versions out there.

I also built a static website generator in Ruby for my personal website. I've since soured on Ruby though, and my website is no longer online. There are other things but I'll leave it there because this is already too long.