Simulating light before building anything
Before drawing the part of Patch that reads the pulse, we ran a day of simulations. They narrowed the choices a lot, and they were honest about what they could not answer.

Reading a heartbeat with light means shining light into skin and catching the small part that comes back changed by the pulse. Where the light goes in between is invisible, and it decides almost everything about the design: how far apart the LED and the sensor should be, how bright the light has to be, and how much light sneaks around the outside instead of passing through the skin. Building boards to find out is slow. Simulating first is fast, if the simulation can be trusted.
Billions of imaginary photons
The main simulation follows light one particle at a time. Each simulated photon leaves the LED, enters a model of skin built from layers with known optical properties, and wanders: it scatters, it is absorbed, or it finds its way back out. Most never reach the sensor. Follow enough of them, billions in this case, and the pattern of the ones that do shows how the reading changes with distance, with color and with skin. A second simulation traced light that skips the skin entirely and leaks across the surface, which is what a light barrier has to stop.
Around those, the same day covered warmth while charging, the radio near the body, how the patch presses on the skin and bends with the arm, and a handful of smaller questions. Each ended with a written result and a plain statement of how sure it was.
Check it against something known
A simulation can produce a smooth, confident curve and still be wrong, and nothing in the curve will say so. So before the light simulation was allowed to answer anything about Patch, it had to reproduce a published case whose answer is already known. The first comparison did not match. The cause was not the simulation: the reference value had been attached to the wrong case. The mismatch was the check doing its job (we hold every check to that standard, here is why).
Smaller traps turned up the same way. A downloaded table of how one kind of tissue absorbs light had no units written on it, and read the obvious way it would have made that tissue absorb far too much. Checking one known value against the table caught it before it touched a result.
What a simulation cannot tell you
The most useful part of the result was the list of things the models could not answer. The biggest: how strong the pulse in the light is on a real arm. That is a property of the body, not of light, and every other figure in the light simulation scales with it, so the model has to borrow it from measurement. Others on the list: how an adhesive holds onto living skin over weeks, and how the radio behaves very close to the body, where the simple radio model stops being reliable.
The report was blunt about it: more computing would not change any conclusion. Measurements would.
What it changed
The simulations reshaped the plan before anything was built. Our first test board was ready to order, and the results showed it was testing the wrong range, so we redrew it around them, with a light barrier built in. The new board is designed to measure exactly the things the simulations could not (why we build that test board first).
A simulation is a way to ask better questions of the real world, not a way to skip asking. This one made the next real experiment smaller, cheaper and aimed at the right place.