Field Notes · AdvisoryHour

An unexpected convergence of hobby projects

Originally published on Eric's Advisory Hour Substack on June 21, 2026. This first-party site copy preserves the article text and localizes the meaningful inline media.

The article

Supporting image from the original AdvisoryHour post, localized for EricRhea.com.
Supporting image from the original AdvisoryHour post, localized for EricRhea.com.

Over recent weeks I wrote on so many weird topics you may have thought I catapulted myself and with sad ease into the cuckoo nest. I’ve browsed a lot of substack and still haven’t found anyone writing on things quite like I am. The letters that appear on my posts are like a garden in need of a serious weeding or an errant lawmower, in the best of circumstances. Click on my profile and read thru my past posts and you’ll read on several experiments I pursued with no real aim other than to see what would happen. It was all the zeal of mad scientist without any intellectual rigor beyond a commitment to a “Can do” attitude.

And yet, in the garden a small miracle happened. It was the weekend. A “something unexpected happened” over the weekend kind of weekend that didn’t involve a beer, an encounter with the opposite sex, or a large slice of pie. See, multiple projects converged into or under one interface. My hobbies merged like the borg from Star Trek.

There’s a good chance you’re a new reader to my substack. Just to take you back thru the last few weeks, here’s the deal. If you scroll thru my substack history over the last few weeks, you’ll see some mix of the following articles. They range from creative posts, ponderings, benchmarks and even the oddball work of art.

The local gemma AI model work on my qualcomm Snapdragon

The vision detection work and squeezing more performance out

Experiments with OpenCV5

Benchmarking work and threeJS experimentation

John’s World

City Explorer

Race track car racer (homage to an atari racing game)

What would you do with all seven of these? It was all code stashed in different folders, managed and curated by coding agents hustling on their Operator’s behalf. I had no intention of a cinematic crossover.

And then… and then I had an idea.

Each of these were a project that I worked within and were just “more of the same”. I did them because they were interesting for me to do. Not once were they doing more than the next interesting problem to solve. Not once did I have some grand synthesis in mind. Not once did I map down a roadmap on what they might one day do.

Until, one day, all of them… merged. The series of lockstep decisions that got me there wasn’t particularly profound-it was just, “Oh this makes sense to do, next.”

It started shortly after building an API around the local gemma work. The same night I added a local API, I then added a full UI so I can do test runs with vision. While that was working, I then realized that “It’d be really nice to have a UI around John’s World. What if I brought those two into the same UI?”

The Vision UI I’ve posted here and there about. It combined the vision model with my benchmark statistics. It’s not going to win any prizes. I’m not competing with anyone. This is just my way of finding improvements to improve what the system can do. Since I don’t have many really meaty problems to dig into right now, you might say I’m inventing some to keep myself busy. It’s what my wife says. She’s probably right.

vision capabilities at a glance
vision capabilities at a glance

If you aren’t familiar with my little hobby projects, I’ll do the very fast recap.

John’s World is a full-kit virtual world engine. It supports video, images as well as characters. It’s weak on spatial maps. It’s very strong on character visual consistency. It is light on debugging tools.

The local vision and gemma models lean very far into vision and other debugging. However, they’re not robust or interesting beyond that narrow ues-case. They’re a toolbox for other ai to use. The vision picture above is an example of what they can do: analyze and then analyze the analysis.

City explorer is a threeJS worldspace filled with procedural mesh generation systems, levels of detail, shaders and more. It’s got geometry figured out, but no characters or anything else. You can drive cars around the world.

And if you take a moment, you’ll see how all of these started to fit together in a weird and yet wonderful way.

Bringing together John’s World, the local Gemma AI model work, and then combining this all with city-explorer is the kind of idea that before AI would have been nothing more than an impossible fever dream. A lot of it is the complexity of the challenge. How do you properly handle integration between three competing platforms of this size, as one person poking around in his free time? And yet AI allows for big ideas to grow so crazily big.

Supporting image from the original AdvisoryHour post, localized for EricRhea.com.
Supporting image from the original AdvisoryHour post, localized for EricRhea.com.

For example, one of the weirder ideas I was toying with was a Oregon’s Trail style game set in 1925 Iowa (no particular reason why 1925, it just was the same year I picked for the film universe and thought maybe I could do something there.) One of the unexpected thoughts was “what if I created the entire geography of the state of iowa at that time and set it to scale of the FPS camera.” This required some tricks from flight simulators.

Then I thought it’d be fun to add a car to drive it. The graphics aren’t going to wow you, and it’s more “neat” over visually stunning. However, it’s an example of the strange convergence I see happening with these project ideas. Here’s why.

This location is also connected in the data model to the NYC 1925 film universe- that means I have a spatial coordinate system by way of City Explorer that solves a last mile problem in John’s World that previously I was struggling to make sense of. Now I can see these interactions in a whole new way.

But it also unlocked several new, and strange, fun things. For example, i wanted to be able to see how the characters in John’s World might “live” their lives beyond the image and video work. Then I had this interesting idea: what if I used the local AI services to power agents that were expressed based on the context of the characters and could still navigate around the scene, even in a crude way? This gave way to the concept of “follow” chats.

Supporting image from the original AdvisoryHour post, localized for EricRhea.com.
Supporting image from the original AdvisoryHour post, localized for EricRhea.com.

This is made possible because my AI inference is battery-powered and free. The unlock this provides is beyond words. The hype around local AI is undersold. The ability to use local AI in this new “chat flow” magnified the number of tokens I’m processing locally now. While it’s not a one million token run in Codex or Fable, it is still doing very useful and interesting things. If you look carefully in the image above, you’ll see each message has tokens in, out, as well as total processing time. It’s about the speed of humans in a real chat.

Building for Fun

There’s a book worth a Saturday read called “Why Greatness Can’t Be Planned.” In the book, Stanley and Lehman argue quite convincingly that you can’t plan big wins like what I just experienced. If you do any research online about this book, you’ll see a specific point:

Playful creativity matters: The authors advocate for embracing curiosity, experimentation, and “play” as essential drivers of innovation

That’s what the internet was once about and can be about, too. The internet can just be fun, and people like us who enjoy building new things can just enjoy the art of creativity that goes along with it. After all, as Gemini notes:

Innovation thrives on serendipity: Great discoveries often come from unexpected connections and “aha” moments, not from following a pre-defined roadmap

Let’s see what the next aha moment brings…

Thanks for reading! Subscribe for free to receive new posts and support my work.

Kira Commentary

This belongs in Field Notes because the post is less a finished product announcement than a record of convergence: local Gemma services, vision tooling, John’s World, City Explorer, procedural driving, and agent-like follow chats all starting to share one practical interface.

  • Hobby projects become infrastructure when they collide. The surprising part is not any single demo; it is that each experiment left behind a reusable piece the next one could borrow.
  • Local AI changes the cost of curiosity. Battery-powered inference makes repeated debugging, vision checks, and character-context experiments cheap enough to become a normal part of play.
  • The map matters. City Explorer’s spatial layer gives John’s World a way to reason about place, movement, and embodied context instead of only images and scenes.

The through-line is serendipity with enough scaffolding to catch it. None of these projects needed a master roadmap to become useful together; they only needed enough working edges for the next “what if?” to have somewhere to land.