Adam Roberts
← Back to Fun stuff

Satisfactory Planner

Tools
  • Claude Code
  • Figma
Open it → (opens in a new tab)
Satisfactory Planner: a node graph of five cards on a dark canvas, the highlighted middle card wired from an input to an output.

Satisfactory (opens in a new tab) is an incredible factory-building game from Coffee Stain Studios (opens in a new tab). The game has players refine and combine raw resources into more and more materials that require you to build increasingly complex factories. It starts simple but the math gets intense quickly.

This complexity is part of the fun, and the game’s dedicated community has created many excellent tutorials and tools to help players plan their builds. While playing the game, I learned that these tools didn’t work for me.

Most planners solve for the optimal build. You enter a target, and they provide a finished production tree. (They’re also drowning in ads.) I prefer to solve things myself, and plan my factory more like a sketch: if I split this belt here, what happens downstream? So I built a planner that works like a whiteboard, closer to FigJam or Miro than a calculator.

The planner with a whole factory sketched: an iron ore miner feeding four smelters through a chain of splitters, their ingots merged onto one belt and split between iron plate and iron rod machines, the rods made into screws, and plates and screws assembled into reinforced iron plates. Every belt is labelled with its rate.

You place buildings, draw your own belt lines, and watch the throughput update as you go. Swapping in an alternate recipe shows its effect right away, so I can learn which recipes are worth it without looking up the answer. The building and item icons come from the Satisfactory community wiki, and they’re Coffee Stain’s artwork. Most of the work was in the interactions, like snapping and layout, which I worked through with Claude Code until the canvas felt like the whiteboard tools I use every day.

Changing a recipe: the Screws card selected and the recipe panel open beside it, comparing the standard recipe, 10 rods into 40 screws a minute, with two alternates, Cast Screws at 12.5 ingots into 50 and Steel Screws at 5 beams into 260.

Under the hood it’s React, with React Flow handling the canvas: the cards, the belts, the panning and zooming. The recipes come straight from the game’s own data file. The parser most tools use hadn’t been updated since 2023 and broke on the current version, so I had Claude Code write a new one, and I added by hand the few facts the file leaves out, like how many ports a splitter has. Rates are stored as exact fractions, so the numbers never drift to 4.9999.

Close up on the sketch: the miner's 120 ore a minute running down a column of splitters, each dropping a pinned 30 into a smelter, and the four smelters' ingots merging back onto a single belt.

The majority of the tool was built in two days, with additional design polish sessions as I found things I wanted to add or improve. I kept a running spec of every decision from the first day which kept things consistent. Click below if you’d like to see the tool, and I highly recommend you check out Satisfactory (opens in a new tab)!