For a while, Infinite Craft was a game you'd see people playing everywhere. And if you ever made the mistake of playing it with some friends, you'd quickly find yourself hooked for several hours at least. While we'd seen it before, my brother approached our friend group with a unique challenge: get the most "First Discoveries". A "First Discovery" (or just "FD") is when you are the first person to discover a certain combination of ingredients. Under the hood, Infinite Craft is just a web game that is using a custom LLM to generate combinations based on an algorithm. Fire + Wind = Smoke, Ghost + Firebird = Phoenix, etc.
As it goes on, you can create some really wild and off-the-wall combinations. Mormonism + Firebird = Mormon Firebird; Bigfoot + Snow White = Yeti. After a while, you'll end up with hundreds of ingredients, but it's not always obvious how to make certain things or how someone ended up with "Anime" or "Samsung Galaxy S8+ Tutankhamun Edition". Wouldn't it be cool if you could share ingredients and work together? Well now you can with this extension! Turns out, all of your ingredients are stored in the local storage of your browser (smart on the developer's part because if you lost everything on a simple refresh, you'd be super upset). We can utilize this by downloading the local storage, merging ingredient files with other players, and then reuploading them! To make this easier, I created a Firefox extension and accompanying website to handle the export, merge, and import operations. This would also work on Chrome, but their new version 3 requirements are a little annoying to work around and, at the time of writing, Firefox still allows Version 2 extensions.
Once you have the extension, all you have to do is hit "Export" and it will download your local storage for the Infinite Craft page only. You can then take this file to https://infinite-craft-ingredient-manager.pages.dev/ to merge other ingredient files into yours. Finally, you can take that file and import it using the "Import" feature of the extension.
This was a fun little weekend project that taught me a lot about extensions. And also introduced me to Cloudflare Pages. Which is a super simple and free platform for getting a website up and running by just uploading static files.