“Do Not Repeat Yourself” is a principle borrowed from software: every piece of knowledge should live in exactly one place. Cost Caster applies the same idea to what you sell. You define each thing once, reuse it everywhere, and when something changes you update it in a single place while every item that depends on it follows along.
That is why Cost Caster breaks what you sell into a few building blocks instead of flat, copied-out recipes.
A restaurant example
Say we run a restaurant. Below is the recipe for a cheeseburger plate. It is built from a cheeseburger build and a side of french fries. Both of those are preps, because they are made from several ingredients and get assembled into different combinations, like a burger sold on its own or an extra side of fries.
The cheeseburger build is made from a burger patty, a slice of american cheese, and a toasted bun. The burger patty is worth a closer look. In a restaurant, the same patty shows up across many burgers: an avocado burger, a jalapeño cheeseburger, a bacon cheeseburger, a mushroom swiss, and so on. A kitchen rarely changes its patty recipe for each one, unless different cuts of meat are the whole point. So the patty is a prep too, made from ground beef and a house seasoning, and that house seasoning gets reused as well.

Now look at a different variation, the bacon cheeseburger plate. It reuses almost everything: the same french fries, the same burger patty, and the same toasted bun. The only real difference is the addition of bacon, which is itself a prep you can reuse across other items, like a club sandwich.

Define each prep once and every variation that uses it stays in sync. Change the house seasoning, and the patty, every burger, and every plate follow automatically. That is Do Not Repeat Yourself in a kitchen.
The building blocks
Components
A component is a raw item you buy, defined once with its price and unit. Every assembly that uses it points at the same definition, so a price change ripples out on its own. You never retype a price across twenty recipes.
Assemblies
An assembly is something you sell, expressed as a recipe of components, sub-assemblies, and modifiers. The assembly does not copy its parts, it references them, so each part stays the single source of truth.
Sub-assemblies
Sub-assemblies are where the principle earns its keep. Anything you make in house and use in more than one place, like a house seasoning, a sauce, or a par-baked dough, becomes a sub-assembly with its own recipe. Build it once, drop it into every assembly that uses it, and change it in one place to update them all.
Modifiers and options
Modifiers and options keep you from duplicating a whole item for every variation. Instead of four burgers for four sides, you build one burger with a Side modifier whose options are the individual choices. Add a new side once and every item that offers it gains the choice, with no rebuild.
What these are called in a kitchen
The building blocks map onto everyday kitchen language.
| Cost Caster | In a kitchen |
|---|---|
| Assembly | Menu item |
| Sub-assembly | Prep |
| Component | Ingredient |
Modifiers and conversions keep the same names. Options are the individual choices inside a modifier, like each side on a plate.
Why it matters
When every component, sub-assembly, and modifier lives in one place, what you sell stays consistent and quick to maintain. Update a single ingredient or tweak one prep, and every item that uses it reflects the change at once. That is the whole point of not repeating yourself.