
Here's a simple runthrough: https://www.youtube.com/watch?v=is-moBz6upU. I pushed to get through a full product pathway to show the V-804 replay.
I am not a software developer by trade, so I relied heavily on LLMs (Claude, Copilot, Gemini) to help write the code. What started as a simple concept turned into a 9,000-line single-page app built with vanilla HTML, CSS, and JavaScript. I used Matter.js for the 2D physics minigames.
A few technical takeaways from building this as a non-dev: * Managing the LLM workflow: Once the script.js file got large, letting the models output full file rewrites was a disaster (truncations, hallucinations, invisible curly-quote replacements that broke the JS). I started forcing them to act like patch files, strictly outputting "Find this exact block" and "Replace with this exact block." This was the only way to maintain improvements without breaking existing logic.
* Mapping physics to CSS: I wanted the minigames to visually sit inside circular CSS containers (border-radius: 50%). Matter.js doesn't natively care about your CSS. Getting the rigid body physics to respect a dynamic, responsive DOM boundary across different screen sizes required running an elliptical boundary equation (dx * dx) / (rx * rx) + (dy * dy) / (ry * ry) > 1 on every single frame. Maybe this was overkill to try to handle the resizing between phones and PCs.
* Mobile browser events: Forcing iOS Safari to ignore its default behaviors (double-tap zoom, swipe-to-scroll) while still allowing the user to tap and drag Matter.js objects required a ridiculous amount of custom event listener management and CSS (touch-action: manipulation; user-select: none;). I also learned that these actions very easily kill the mouse scroll making it very frustrating for PC users. I am hoping I hit a good middle ground.
* State management: Since I didn't use React or any frameworks, I had to rely on a global state object. Because the game jumps between different phases/minigames, I ran into massive memory leaks from old setInterval loops and Matter.js bodies stacking up. I had to build strict teardown functions to wipe the slate clean on every map transition.
The game walks through electrostatic desalting, fractional distillation, hydrotreating, catalytic cracking, and gasoline blending (hitting specific Octane and RVP specs).
It’s completely free, runs client-side, and has zero ads or sign-ups. I'd appreciate any feedback on the mechanics, or let me know if you manage to break the physics engine. Happy to answer any questions about the chemical engineering side of things as well.
For some reason the URL box is not getting recognized, maybe someone can help me feel less dumb there too. https://fuelingcuriosity.com/game
Hello y’all as the post says, certainly a novice stepping into y’all’s space, but I am passionate that we can use the newest form of coding to allow us to change the way we teach. I think it’s a different way to use AI to teach, not having it explicitly do the teaching, but a way to extract context from different backgrounds into more fun learning tools.
This is a great example of the kind of 'good enough' software that LLMs enable. Before LLMs existed you'd either hire someone to do this an exorbitant cost or you'd pick up a second full time job learning the nessessary skills.
This software doesn't need to be massive scaled, hyperperformant, and absolutely bug free. It just needs to do its job well enough, which it does.
I am also a (non-software) engineer and although I can write software (poorly) I have also used these tools to do some things that previously just wouldn't have gotten done.
We still need people to do Serious Software but for millions of little applications like this LLMs are a game changer.
Thank you for the support! I tell my team this all the time, there’s no point in building systems that we rely on to be perfect to integrate LLMs, but we can use them to low risk workflows that otherwise would never get coding/automation support.
It’s really changed the way I work from opening up the ability to write deterministic code, but I’ve yet to see many instances that we could tolerate a “in-the-loop” LLM yet.
OOH! Neat! I looked on my mobile phone enough to get a sense of what this is.
I'm not in the petroleum industry, but about 45 years ago I was mesmerized at an energy fair at my elementary school by this Exxon magazine that showed the refinery flow with a bunch of little dots: https://archive.org/details/p-2330663/P2330670.JPG
How awesome that you were able to find this! I’m only missing a couple! The SRU is my final hurrah that I’m trying to get the play dynamic right. Balancing air demand with sulfur load without overwhelming the screen with bars and widgets.
> How awesome that you were able to find this! I’m only missing a couple!
Missing a couple of features you want to add?
The "able to find this" (the 1981 Exxon magazine) needs context to appreciate re: the dispersion of certain personal belongings over time. I would have picked the magazine up in 1981 or 1982 (possibly 1983) at the school energy fair, and it remained in my physical possession for the next 40-something years.
In elementary school I did not have a significant amount of possessions outside of toys. Then in middle school I got a small desk, and in high school I got a larger desk, and it ended up in a folder of "neat stuff" that I saved.
Then after college my stuff from the desk ended up in a banker's box, which I still have, along with a couple of other boxes of stuff from that era. This year I looked for maybe 20-30 minutes and found it.
I still have all of my copies of Compute's Gazette from the mid-late 1980s.
I will say that it is amazing to be able to go online and find all sorts of old computer/electronics/whatever magazines from the 1950s-1980s on archive.org or bitsavers or worldradiohistory.org and there they are... unless they're not.
A couple of units that were shown on your page, but that is a very cool note. You never know when something leaves a lasting impression on someone!
I just want to say that despite the AI negativity in other places, this highlights the positive aspect of it. I'm sure this could have been done without it, but I'm glad OP could get it out faster for a low-risk use case, shared it with us, and in the process taught a little bit of refining to others. It's a fun minigame.
Thank you, almost like you read my manifest for this haha. I was concerned the learning would get overshadowed by the LLM use. Hope you learned some interesting facts that help you understand the why of refining a little bit more. I started developing this before the conversation around oil became mainstream media again.