Posts

An Actually Good Autocross Timing App (and it's free!) - AutoX Live

Image
An Actually Good Autocross Timing App (and it's free!) - AutoX Live TLDR: go download app  autox.romangarms.com , it's on TestFlight. My AutoX app running on an iPhone!      I'm big into racing cars, as I'm sure will surprise no one (see the  Garage tab on my website ), but I've always been disappointed with the ability to compare your lap times with friends at the event. At the Golden Gate Lotus Club events, they've got a website updated in real time, but it's just a massive spreadsheet that sends you to the top every time it refreshes.     Worse, the app I use in Washington for the Evergreen Speedway Autocross has a $1.50/month subscription required to use the app! It's pretty cheap, but I've paid that price for at least 10 different events now.     Mind you, all of the actual timing data is publicly accessible for free... The Feature Set     The obvious thing is make a free app. But beyond that, there's a lot of other changes I w...

Spotify Song Recommender - Using the Spotify API in 2026

Image
Spotify's AI-powered playlists are bad  Landing page for the Song Recommender  At least, back when they first launched. I tried making playlists based on various text descriptions, and was thoroughly unimpressed by the generated playlist. Songs would be irrelevant to the prompt, or have the right name but be by the wrong artist, or countless other issues. However, I saw the point of having AI-generated playlists, and was curious if it would be possible to make one that didn't suck. What I really wanted was the option to send a playlist as input, with the instruction of "find more music like this", and then have a nice new playlist of songs to check out. 2025: Spotify's changing API restrictions  In mid-2025, Spotify issued some new rules for use of their API. If you wanted to make an app that used their Web API, you need to be: A registered company Already launched to the public Have at least 250,000 monthly users And more! This completely locks out indie develope...

Concepts File Viewer - Web App

Image
Viewing Concepts Files in Your Browser  The app is usable here:  https://romangarms.com/Concepts-File-Viewer/  Concepts Drawings on Your iPad  A very basic user interface I've always disliked taking notes with physical notebooks and pencils and pens. I really benefit from having my notes be super organized, but that would require carrying multiple notebooks (one for each class) and multiple drawing utensils in order to color code and organize my notes. When COVID hit in 2020 and school became online, I used this as an opportunity to change my note-taking style. I was no longer required to use physical notebooks, or organize my notes a certain way, or whatever other criteria a teacher might have. I downloaded Concepts, since the app looked appealing enough, and everything I needed could be done in a single payment, as opposed to subscription. One Thing at a Time  Fast-forward a few years, and I'm using this app more than ever. Taking notes on a computer or iPad i...

OP-Z Sample Manager - Software to make the OP-Z Usable

Image
The OP-Z Sample Manager App  The app is available to download here on GitHub:  https://github.com/romangarms/OPZ-Sample-Manager . To read more about the development of the app, and what the Teenage Engineering OP-Z even is, keep reading below. Teenage Engineering - The Flagship OP-1  As a long time enthusiast of Teenage Engineering and their slightly odd synthesizers, I've always wanted their flagship OP-1. The OP-1 is a standalone synthesizer and groove box, capable of making entire songs, no computer required. It has a bright OLED display with whimsical graphics, creative sequencers ( including the Tombola I recreated as an OP-Z videopak ), and plenty of other fascinating features. In early 2020, having been making music with a friend for years, I decided it would be fun to purchase my first synth, and started looking at the prices. A new OP-1 would run you upwards of $1200, and even used they were $800+. As a freshman in high school, I simply did not have the budget fo...

Programming a Forza-Horizon-Style Map Tracker - WhereHaveIBeen

Image
WhereHaveIBeen  WhereHaveIBeen is a web app I've been developing over the past several months. I've always been interested in exploring new parts of my city or state I haven't seen, but it's hard to do that if I can't figure out where I've been! One of my favorite games of all time, Forza Horizon implemented a solution to this in a cool way. It's a driving game that involves a map that starts greyed out. As you drive each of the roads in the game, each road gets filled in with color, and a little progression calculation is done to tell you what percentage of the roads you've driven on so far. WhereHaveIBeen is one part of a several part project to track all of the roads I've driven. Before I can begin explaining the parts I made, let me explain the tools I'm using. OwnTracks is a GPS tracking service for iPhone and Android. The phone app basically works like Apple's FindMy. You can see where you are, where your friends are, that's it. The...

Making a Playstation 3 Game in 2024 - PS3 Unity SDK

Image
The Playstation 3  The Sony Playstation 3 is a game console that released in 2006, and had its last disc release in 2020. I think 2024 is the perfect time to come back to making games for it. Let me introduce the game I'll be bringing over to the PS3, Ultimate Tic Tac Toe. Ultimate Tic Tac Toe - Windows, Mac, iOS, Android Ultimate Tic Tac Toe ( which I've previously written about here ) is a Unity game that my friend ( who can be found on GitHub at AlteredNode ) built around 2 years ago. It's a pretty simple game, it's tic tac toe, but each square of the main board is a smaller tic tac toe game. Depending on where you play in the small grid, your opponent will be locked to that same square of the main grid. It can be a little complicated to explain in text, but the game is playable in your browser if you'd like to see it in action. When my friend was putting together the code for the game, I was adding small bonus features to it. I swapped out all the PNG textures ...

Hacking My Mazda Infotainment - MZD-AIO and CASDK

Image
How Does the 2014-2019 Mazda Connect Infotainment Work?  The infotainment system in my 2015 Mazda 3 is incredibly strange. The entire infotainment "operating system" that you see is nothing more than the Opera web browser showing regular old HTML, JS, and CSS web pages. As strange as this solution is, this offers amazing possibilities that most other car infotainment systems don't allow for. Unlike my old Audi running QNX or something equally strange, the Mazda runs a regular version of Linux with a very normal web browser. In fact, it has become even easier to work with in recent year, due to the abundance of Arm-based phones and laptops, just like the Arm CPU in the Mazda Infotainment.  The infotainment system was made by a company called Johnson Controls International, or JCI rather than being made in-house by Mazda. JCI left a lot of development and debugging features even in the final versions of the OS that went out to consumer cars. A Brief History of Hacking the M...

DRTuned - Tuning My Car With My Steam Deck

Image
Tuning Your Car  I own a 2015 Mazda 3. It's far from the fastest car on the road, and after owning a modified Audi A4, and driving some other fun and fast cars, every time I go back to it it feels like a bit of a downgrade (save for the reliability!). After the reliability nightmare that my Audi was, I have very little interest in buying a car like that one any time soon despite how fun and fast it was, but wouldn't it be nice if my existing car was a bit speedier?  Enter the world of tuning. A car's tune is basically the software that controls the very low-level portions of the engine. It controls engine timing, air-fuel ratio, and much more. Most car manufacturers make a very safe default, or stock tune for their car. They don't optimize it for each and every single car that rolls off the production line, they make one safe tune and apply it to all of them.  This means that there's generally some room for performance gains on every single stock tune in any car. Ad...

Homebridge - Making my Home a Little Smarter

Image
The Goal  Ever wish you could remotely control every light in your house? Control a PS3 from your iPhone? Create schedules to automatically turn on and off devices in your house in the most complex way possible? No? Hmmm.  It's a little more useful than that I promise. I was introduced to the world of Apple Homekit when my dad wanted his espresso machine to start in the morning before he gets out of bed. Nice little quality-of-life thing. But he went further than just a timer, he got an outlet plug that could be controlled by his phone. And I thought that was soooo cool.  We bought some more smart plugs, a smart light switch, and a couple of other things. Pretty cool to have all the lights in a room come on with a single switch, without any complex and annoying-to-undo-later wiring. Also a nice bonus that I could control them without getting up. But smart home equipment is *expensive*. And I already have a server computer. What if some of these devices could be smartified...

1isle - Music on Spotify, Apple Music, Etc.

Image
What is 1isle?  Back in early 2020, pre-pandemic and all of that, I had been making music with one of my close friends for several years, and we got curious about what it really takes to put music on Spotify. We found out that if you're willing to let a distributor take a cut of the profit, you can even upload for free. Otherwise, you can also find a distributor where you pay a $20 fee and they take no cut of the profit. Given that we expected to make basically no money off of this, we chose the free route.  We started assembling songs, making album art, artist icons, social media accounts, and so much more. We chose our name a little randomly, we were playing around with a band name generator, and one of the generated names got messed up. They weren't supposed to include numbers or special characters. Thinking that was kind of funny, we stuck with it. Also it sounded kinda cool to us at the time.  Making the Music The two of us had been making music for years and years. ...

Doom on a Drone Controller

Image
Back in 2018  I bought a terrible drone manufactured by GoPro, called the "GoPro Karma." The idea behind it was really clever, a drone that worked with the GoPro ecosystem you have already been purchasing from over the years. Slap a camera you already own into a drone, fly it, and when you get back, you can remove the gimbal from the drone and use it handheld.  Truly a good idea, but it felt a little hacked together on the software side. The GoPro didn't always want to enter the drone mode, the controller refused to connect to Google WiFi networks, etc. My favorite part, is the controller actually runs Android, and the software for controlling the drone is just an Android launcher and app.  What I Did In 2021, 3 years after the GoPro Karma was discontinued, a youtuber found out you could install a different version of Android to the controller . There was a hidden recovery/reflash mode on the controller, accessible via a button combination, and with a custom driver on the...

The Nautilus - A Group Project

Image
The Game  The Nautilus is a game a friend of mine, Eden (found here on GitHub), started back over a year ago. It's gone through many revisions, eventually winding up as a web-based game that involves controlling a spaceship, navigating obstacles, and avoiding enemies.  Features Contains custom audio, perfectly looping music and background sounds, visual effects, a momentum storing and releasing mechanic, and more. Playable with WASD for movement, and the space bar to store, then subsequently release your momentum later for ultimate speed control.  The Project The source code can be found on GtiHub here , and is playable at the following link:  https://eden-annora.github.io/TheNautilus/ . Have fun! Please star the project, and report issues if you find some. Note that the game is early in development, so there will be some bugs.

Ultimate Tic Tac Toe - A Group Project

Image
The Game  Making It By now,  I'm certain you're aware of how to play tic tac toe. But what if, every single one of those 9 squares, was another tic tac toe game? Also, depending on where you last played, you can only play in that same square in the big full-size game. This is a project my friend (found on github at AlteredNode ) was working on, that I got involved in. Together, we built a game that was simple enough to make, but entertaining enough to keep a group focused for a while. We ported it to Windows, Mac,  Android, and iOS, though it is not in any of the app stores yet. It still has to be sideloaded for now.  The Project You can find the source code for the Unity project here , the XCode project for porting to iOS here , and download the game here . Play the Game Play it fullscreen here .

Videopaks for the OP-Z

Image
Background In 2020, slightly before the pandemic, I purchased a small synthesizer called the OP-Z, manufactured by Teenage Engineering . It's little gray rectangle, about the size of a tv remote, with full synthesizer and sampler capabilities. It's a very nice, capable little device, but it lacks a screen, or any kind of display save for a bunch of RGB LEDS inside most of the buttons. Now, no display whatsoever is a little tricky on such a complicated device, so the solution to this was to use your phone or tablet as a display to show what's going on inside the synthesizer. The best part, is the app allows you to create your own visuals to sync up with your music. What I Made I'm not the best artist out there, so I looked for how to make a tool rather than just art with this platform called "Videolab." I wound up creating two different tools. The first one was a spinning drum, where each note you play on the synthesizer would create a ball, playing a sound eac...