Setbacks and Pivots

Setbacks and Pivots
A cyberpunk event needs capybara cozy images, surely.

Sometimes life gives you lemons. Sometimes life decides to give you not only a box of lemons, but a whole moving truck full of noting but browning, rotting, stinky maggot-filled lemons. And then the delivery guy complains his boss is going to make him wash out the truck, so you offer to help clean out the truck with him. But then he seems pretty indignant about the whole thing, and you end up picking out festering lemon chunks from the floor boards for hours as he complains his back is busted from moving all those crates of those damn heavy stinky lemons.

I wanted to take a moment and talk about setbacks. Most of the stories I've shared have been topics relating to developing hobby projects for festivals and nerd collectives I attend. The most bulk of these projects gravitate around Neoptropolis, and five day sci-fi LARP/Music Festival/Immersive Experience. I'll write up another post shortly but I wanted to focus on the projects I attempted to manifest this year but didn't quite hit the mark.

I had left Neotropolis 2024 with a goal in mind. I had seen folks using spreadsheets on monitors, writing down notes on scratch paper, anything but a exciting immersive seamless fantasy building experience. I felt this was a problem that I had the knowhow to solve. I decided to develop a tool to allow folks to create their own interfaces for immersive games without having the need to code. Examples I had in mind were a queue system, a high score table, and a game item menu. This system would save to a database players, teams, and projects that would work with a plethora of inputs – usb devices, RFID readers, QR scanners. As y2k programmer, I had envisioned something similar to Macromedia's Flash but with hooks to actual devices.

A friend at the event had said to me of my terminal hobby project from 2024, "I want a box like yours for next year!" So I called this omnibus of a project Tingobox.

I started on it with the goal to use this new tool to rebuild my last year's hobby code slideshow as an example! In hindsight I see this now to have been a very lofty goal, and ultimately I had to pivot two create a proof-of-concept that at best could only take notes on the player, as well as a update of the 2024 digital toy.

There are a few reasons for this one one theme was paramount. Between the 2024 Neotropolis and and this 2025 Neotropolis, I had the unfortunate privilege to attend three separate funerals for family members. This put a damper on my enthusiasm to produce hobby code--the last funeral I had to throw in the towel and simply show up with a half working demo.

After the event, I immediately thought about all the ways I didn't succeed to reach the accomplishments I set before myself. But people enjoyed what I brought out regardless of my failures or successes. They were happy to interact with something unique.

I also ended up with an app I wasn't planning to build: the utility tool aptly named RFID-Pouch-IndexedDB.

The Mantras of the Pivot

On that note, I wanted to pontificate on my mantras that lead to the mutation of the project over the span of a year. These are sayings that I told myself to provide a bit of respite and continue to get something--anything--done for the year on the side from my normal day to day activites.

Keep It Social

As like with the previous years, I did my best to livestream the coding process of Twitch and later TikTok. This helped shape of the the basic elements of the project, as I ended up trying to different viewer suggestions such as Radix for some of the UI elements and SQLite for data storage.

Its Hobby Code, Keep it Fun

As my morale started to diminish over the summer from the first funeral, I decided to throw in some cartoony graphics to keep it amusing to me to look at. I like capybaras, so I drew some capybara images as placeholders for some of the sections of the app. This brought me joy and gave me an object to focus my thoughts, leaning towards "hey let's just make some templates for people to use as a alpha".

My to-do list

Go / No - Go Time

It was around the second funeral I started to realize I wasn't going to have the energy to complete this omnibus of a project. This was especially made clear to me when I tried to solicit a friend to collaborate with me on it. They couldn't quite grasp the nature or the scope of the project, a "builder to build any display for your immersive event" was a bit too new of a concept that they became shy to help.

From my short stint in making software for managing satellites and rockets, I started to treat my projects with the concept of Go / No-Go for launch on elements of the project itself. Since launches were done at very specific times and locations of the year, if certain criteria were not met by specific dates, we would have to scuttle the launch.

Post January 1st planning

So I gave myself some specific dates to follow: January 1st was to be my ultimate go / no-go for the full version of the app. As the deadline approached, there was another death in the family. With a specific deadline to scuttle looming, I made the decision to spare myself the anxiety and scuttle the omnibus project.

Do What You Can

As 2025 started, I broke my project up into three parts. One would be an MVP – Minimal Viable Product – of what the most basic elements of the project could be. I decided that was a record keeper that could read RFID tags and write notes. I also wanted it to be useable by folks who weren't tech savvy– so I made it to be a webpage that saves local to the browser memory using a slightly new technology, indexedDb. ( RFID-Pouch-IndexedDB )

Screenshot of the note taking tool

Since I no longer had a new app to rebuild my project in as an example, I went ahead and worked the previous year's app. After the third funeral in February I was nearly on empty on any motivation whatsoever. To combat this I went back to mantra 2 and decided to do what was all the rage with the kids these days--vibes code!

So I vibes coded in a 3d game last minute using babylon.js. It turned out ok.

For my amusement I treat the AI like a forgetful old hermetic sage

Players would select tiles to color for their allegiance

Focus on the Journey, not the Desintation

When people asked me what I did for Neotropolis, I tell them I learned a hundred different ways to not do what I waned to do. But I did come out of the experience with knowledge of technology I hadn't encountered with before. I went from Electron to Tauri. CouchDb to SQLite. I poked around with the Web-USB, Web-HID, and even Web-Serial APIs in an attempt accomplish a robust communication to internet-of-things devices. I learned about IndexedDB, and noticed new internal tools were embedded into web browsers in the past few years. I grew more accomplished with web sockets and gained experience with javaScript libraries such as drizzle, nestJS, and babylon.js.

When it comes to my hobby code, I don't see if as a final project where I pass or fail. I see it as an opportunity to learn and grow. Failure is always the best educator. I value the experiences I had within the last year and I feel I can create even more creative experiences in the future. Also, I have to remember that people enjoyed what I did, even if in my eyes it came out undercooked.

More importantly, rest in peace grandma, grandpa, and cousin Sam.