From Excel to Matrix Engine: Building a Scientific Web Calculator the Hard Way (But It Worked) Pic Random
This is a story from 2020, back when React wasn’t the universal answer and jQuery still held the fort in many serious projects. I’ve made some updates since then, but the core logic remains true to that time: no frameworks, no build steps — just raw JS, some respectful jQuery, and a stubborn will to translate engineering math into working software._ 5 years ago, I took on a freelance gig for what looked like a standard web calculator — some industrial heating system logic wrapped in a website. The client sent over an Excel file and said, "Can you make this online?" Sure, I thought. How hard could it be? Reality Check Turns out, this wasn't a calculator. It was a monster. Hidden in that Excel file were hundreds of formulas, conditional logic chains, and engineering constants. It was more simulation than form — closer to a virtual control system than a typical form submission flow. But I was already committed. So I did what anyone would do: I built my own system from scratch. Rolling My Own State System This project predates my experience with frameworks like React. But I knew I needed some kind of internal memory to track values and re-use them across the app. So I wrote this: const currentState = {}; $('.input').change(function() { const key = $(this).attr('name'); currentState[key] = parseFloat($(this).val()); }); This became the core of everything. Instead of hundreds of loose variables or DOM reads, I had a central state object — a poor man’s React state, running entirely in jQuery. Without it, I honestly think this thing would’ve ballooned into 20,000 lines of chaos. The Matrix Awakens Now comes the funny part. In university, I hated matrix math. Couldn't stand it. Never thought I’d use it. Fast forward to this project — the engineers handed me massive Excel tables. Think: one axis for flow rate, another for pressure, and the cells filled with recommended pump counts. So I did this: let prevKey; const pumpenTable1 = pumpenDiagramIndexes1[0]; // or [1] depending on conditions for (const k of Object.keys(pumpenTable1)) { if (parseInt(pumpenTable1[k]) === parseInt(currentState.pumpenIndex)) { index1 = k; break; } } for (const k of Object.keys(pumpenDiagramValues1)) { if (currentState.durchflussDh1 "0","val1"=>"2","val2"=>"2","val3"=>"2","val4"=>"2","val5"=>"2","val6"=>"2","val7"=>"2","val8"=>"2","val9"=>"2","val10"=>"2","val11"=>"2","val12"=>"2","val13"=>"3","val14"=>"3","val15"=>"3","val16"=>"3","val17"=>"3","val18"=>"3","val19"=>"3","val20"=>"3","val21"=>"3","val22"=>"3","val23"=>"3","val24"=>"3","val25"=>"4","val26"=>"4","val27"=>"4","val28"=>"4","val29"=>"4","val30"=>"5","val31"=>"5","val32"=>"5","val33"=>"5","val34"=>"5","val35"=>"5","val36"=>"5","val37"=>"5","val38"=>"5","val39"=>"0","val40"=>"0","val41"=>"0","val42"=>"0","val43"=>"0","val44"=>"0","val45"=>"0","val46"=>"0","val47"=>"0","val48"=>"0"], ["val0"=>"0.3","val1"=>"2","val2"=>"2","val3"=>"2","val4"=>"2","val5"=>"2","val6"=>"2","val7"=>"2","val8"=>"2","val9"=>"2","val10"=>"2","val11"=>"2","val12"=>"2","val13"=>"3","val14"=>"3","val15"=>"3","val16"=>"3","val17"=>"3","val18"=>"3","val19"=>"3","val20"=>"3","val21"=>"3","val22"=>"3","val23"=>"3","val24"=>"3","val25"=>"4","val26"=>"4","val27"=>"4","val28"=>"4","val29"=>"4","val30"=>"5","val31"=>"5","val32"=>"5","val33"=>"5","val34"=>"5","val35"=>"5","val36"=>"5","val37"=>"5","val38"=>"5","val39"=>"0","val40"=>"0","val41"=>"0","val42"=>"0","val43"=>"0","val44"=>"0","val45"=>"0","val46"=>"0","val47"=>"0","val48"=>"0"], // ... ]; Then in JS, I ran lookups through them to pick the right values. There were also temperature-based coefficients, pressure factors, and fallback paths — all encoded in dense matrices and calculated manually with jQuery-driven logic. Basically, I reimplemented Excel’s reactive behavior using nothing but arrays, loops, and a stubborn desire to avoid rewriting formulas 30 times. Full matrix example (from real data) $pumpenDiagramValues = [ [("val0"=>"0","val1"=>"2","val2"=>"2","val3"=>"2","val4"=>"2","val5"=>"2","val6"=>"2","val7"=>"2","val8"=>"2","val9"=>"2","val10"=>"2","val11"=>"2","val12"=>"2","val13"=>"3","val14"=>"3","val15"=>"3","val16"=>"3","val17"=>"3","val18"=>"3","val19"=>"3","val20"=>"3","val21"=>"3","val22"=>"3","val23"=>"3","val24"=>"3","val25"=>"4","val26"=>"4","val27"=>"4","val28"=>"4","val29"=>"4","val30"=>"5","val31"=>"5","val32"=>"5","val33"=>"5","val34"=>"5","val35"=>"5","val36"=>"5","val37"=>"5","val38"=>"5","val39"=>"0","val40"=>"0","val41"=>"0","val42"=>"0","val43"=>"0","val44"=>"0","val45"=>"0","val46"=>"0","val47"=>"0","val48"=>"0"], ["val0"=>"0.3","val1"=>"2","val2"=>"2","val3"=>"2","val4"=>"2","val5"=>"2","val6"=>"2","val7"=>"2","val8"=>"2","val9"=>"2","val10"=>"2","val11"=>"2","val12"=>"2","val13"=>"3","val14"=>"3","val15"=>"3","val16"=>"3","val17"=>"3","val18"=>"3","val19"=>"3","val20"=>"3","val21"=>"3","val22"=>"3","val23"=>

This is a story from 2020, back when React wasn’t the universal answer and jQuery still held the fort in many serious projects. I’ve made some updates since then, but the core logic remains true to that time: no frameworks, no build steps — just raw JS, some respectful jQuery, and a stubborn will to translate engineering math into working software._
5 years ago, I took on a freelance gig for what looked like a standard web calculator — some industrial heating system logic wrapped in a website. The client sent over an Excel file and said, "Can you make this online?"
Sure, I thought. How hard could it be?
Reality Check
Turns out, this wasn't a calculator. It was a monster.
Hidden in that Excel file were hundreds of formulas, conditional logic chains, and engineering constants. It was more simulation than form — closer to a virtual control system than a typical form submission flow.
But I was already committed. So I did what anyone would do: I built my own system from scratch.
Rolling My Own State System
This project predates my experience with frameworks like React. But I knew I needed some kind of internal memory to track values and re-use them across the app. So I wrote this:
const currentState = {};
$('.input').change(function() {
const key = $(this).attr('name');
currentState[key] = parseFloat($(this).val());
});
This became the core of everything. Instead of hundreds of loose variables or DOM reads, I had a central state object — a poor man’s React state, running entirely in jQuery. Without it, I honestly think this thing would’ve ballooned into 20,000 lines of chaos.
The Matrix Awakens
Now comes the funny part. In university, I hated matrix math. Couldn't stand it. Never thought I’d use it.
Fast forward to this project — the engineers handed me massive Excel tables. Think: one axis for flow rate, another for pressure, and the cells filled with recommended pump counts.
So I did this:
let prevKey;
const pumpenTable1 = pumpenDiagramIndexes1[0]; // or [1] depending on conditions
for (const k of Object.keys(pumpenTable1)) {
if (parseInt(pumpenTable1[k]) === parseInt(currentState.pumpenIndex)) {
index1 = k;
break;
}
}
for (const k of Object.keys(pumpenDiagramValues1)) {
if (currentState.durchflussDh1 < pumpenDiagramValues1[k].val0) {
currentState.pumpenAnzahlDh1 = parseFloat(pumpenDiagramValues1[prevKey][index1]);
break;
} else {
prevKey = k;
}
}
That’s it. That’s the whole pump logic. I didn’t even know what INDEX/MATCH()
was at the time — but I built it. Accidentally.
I didn’t do it for a grade. I did it because I had to make the numbers appear on the screen.
And it worked.
Simulating Excel in the Browser
Most of the heavy lifting came from converting this kind of Excel data into usable formats:
$pumpenDiagramValues = [
["val0"=>"0","val1"=>"2","val2"=>"2","val3"=>"2","val4"=>"2","val5"=>"2","val6"=>"2","val7"=>"2","val8"=>"2","val9"=>"2","val10"=>"2","val11"=>"2","val12"=>"2","val13"=>"3","val14"=>"3","val15"=>"3","val16"=>"3","val17"=>"3","val18"=>"3","val19"=>"3","val20"=>"3","val21"=>"3","val22"=>"3","val23"=>"3","val24"=>"3","val25"=>"4","val26"=>"4","val27"=>"4","val28"=>"4","val29"=>"4","val30"=>"5","val31"=>"5","val32"=>"5","val33"=>"5","val34"=>"5","val35"=>"5","val36"=>"5","val37"=>"5","val38"=>"5","val39"=>"0","val40"=>"0","val41"=>"0","val42"=>"0","val43"=>"0","val44"=>"0","val45"=>"0","val46"=>"0","val47"=>"0","val48"=>"0"],
["val0"=>"0.3","val1"=>"2","val2"=>"2","val3"=>"2","val4"=>"2","val5"=>"2","val6"=>"2","val7"=>"2","val8"=>"2","val9"=>"2","val10"=>"2","val11"=>"2","val12"=>"2","val13"=>"3","val14"=>"3","val15"=>"3","val16"=>"3","val17"=>"3","val18"=>"3","val19"=>"3","val20"=>"3","val21"=>"3","val22"=>"3","val23"=>"3","val24"=>"3","val25"=>"4","val26"=>"4","val27"=>"4","val28"=>"4","val29"=>"4","val30"=>"5","val31"=>"5","val32"=>"5","val33"=>"5","val34"=>"5","val35"=>"5","val36"=>"5","val37"=>"5","val38"=>"5","val39"=>"0","val40"=>"0","val41"=>"0","val42"=>"0","val43"=>"0","val44"=>"0","val45"=>"0","val46"=>"0","val47"=>"0","val48"=>"0"],
// ...
];
Then in JS, I ran lookups through them to pick the right values.
There were also temperature-based coefficients, pressure factors, and fallback paths — all encoded in dense matrices and calculated manually with jQuery-driven logic.
Basically, I reimplemented Excel’s reactive behavior using nothing but arrays, loops, and a stubborn desire to avoid rewriting formulas 30 times.
Full matrix example (from real data)
$pumpenDiagramValues = [
[("val0"=>"0","val1"=>"2","val2"=>"2","val3"=>"2","val4"=>"2","val5"=>"2","val6"=>"2","val7"=>"2","val8"=>"2","val9"=>"2","val10"=>"2","val11"=>"2","val12"=>"2","val13"=>"3","val14"=>"3","val15"=>"3","val16"=>"3","val17"=>"3","val18"=>"3","val19"=>"3","val20"=>"3","val21"=>"3","val22"=>"3","val23"=>"3","val24"=>"3","val25"=>"4","val26"=>"4","val27"=>"4","val28"=>"4","val29"=>"4","val30"=>"5","val31"=>"5","val32"=>"5","val33"=>"5","val34"=>"5","val35"=>"5","val36"=>"5","val37"=>"5","val38"=>"5","val39"=>"0","val40"=>"0","val41"=>"0","val42"=>"0","val43"=>"0","val44"=>"0","val45"=>"0","val46"=>"0","val47"=>"0","val48"=>"0"],
["val0"=>"0.3","val1"=>"2","val2"=>"2","val3"=>"2","val4"=>"2","val5"=>"2","val6"=>"2","val7"=>"2","val8"=>"2","val9"=>"2","val10"=>"2","val11"=>"2","val12"=>"2","val13"=>"3","val14"=>"3","val15"=>"3","val16"=>"3","val17"=>"3","val18"=>"3","val19"=>"3","val20"=>"3","val21"=>"3","val22"=>"3","val23"=>"3","val24"=>"3","val25"=>"4","val26"=>"4","val27"=>"4","val28"=>"4","val29"=>"4","val30"=>"5","val31"=>"5","val32"=>"5","val33"=>"5","val34"=>"5","val35"=>"5","val36"=>"5","val37"=>"5","val38"=>"5","val39"=>"0","val40"=>"0","val41"=>"0","val42"=>"0","val43"=>"0","val44"=>"0","val45"=>"0","val46"=>"0","val47"=>"0","val48"=>"0"],
["val0"=>"0.6","val1"=>"2","val2"=>"2","val3"=>"2","val4"=>"2","val5"=>"2","val6"=>"2","val7"=>"2","val8"=>"2","val9"=>"2","val10"=>"2","val11"=>"2","val12"=>"2","val13"=>"3","val14"=>"3","val15"=>"3","val16"=>"3","val17"=>"3","val18"=>"3","val19"=>"3","val20"=>"3","val21"=>"3","val22"=>"3","val23"=>"3","val24"=>"3","val25"=>"4","val26"=>"4","val27"=>"4","val28"=>"4","val29"=>"4","val30"=>"5","val31"=>"5","val32"=>"5","val33"=>"5","val34"=>"5","val35"=>"5","val36"=>"5","val37"=>"5","val38"=>"5","val39"=>"0","val40"=>"0","val41"=>"0","val42"=>"0","val43"=>"0","val44"=>"0","val45"=>"0","val46"=>"0","val47"=>"0","val48"=>"0"],
["val0"=>"0.9","val1"=>"2","val2"=>"2","val3"=>"2","val4"=>"2","val5"=>"2","val6"=>"2","val7"=>"2","val8"=>"2","val9"=>"2","val10"=>"2","val11"=>"2","val12"=>"2","val13"=>"3","val14"=>"3","val15"=>"3","val16"=>"3","val17"=>"3","val18"=>"3","val19"=>"3","val20"=>"3","val21"=>"3","val22"=>"3","val23"=>"3","val24"=>"3","val25"=>"4","val26"=>"4","val27"=>"4","val28"=>"4","val29"=>"4","val30"=>"5","val31"=>"5","val32"=>"5","val33"=>"5","val34"=>"5","val35"=>"5","val36"=>"5","val37"=>"5","val38"=>"5","val39"=>"0","val40"=>"0","val41"=>"0","val42"=>"0","val43"=>"0","val44"=>"0","val45"=>"0","val46"=>"0","val47"=>"0","val48"=>"0"],
["val0"=>"1.2","val1"=>"2","val2"=>"2","val3"=>"2","val4"=>"2","val5"=>"2","val6"=>"2","val7"=>"2","val8"=>"2","val9"=>"2","val10"=>"2","val11"=>"2","val12"=>"2","val13"=>"3","val14"=>"3","val15"=>"3","val16"=>"3","val17"=>"3","val18"=>"3","val19"=>"3","val20"=>"3","val21"=>"3","val22"=>"3","val23"=>"3","val24"=>"3","val25"=>"4","val26"=>"4","val27"=>"4","val28"=>"4","val29"=>"4","val30"=>"5","val31"=>"5","val32"=>"5","val33"=>"5","val34"=>"5","val35"=>"5","val36"=>"5","val37"=>"5","val38"=>"5","val39"=>"0","val40"=>"0","val41"=>"0","val42"=>"0","val43"=>"0","val44"=>"0","val45"=>"0","val46"=>"0","val47"=>"0","val48"=>"0"],
["val0"=>"1.5","val1"=>"2","val2"=>"2","val3"=>"2","val4"=>"2","val5"=>"2","val6"=>"2","val7"=>"2","val8"=>"2","val9"=>"2","val10"=>"2","val11"=>"2","val12"=>"2","val13"=>"3","val14"=>"3","val15"=>"3","val16"=>"3","val17"=>"3","val18"=>"3","val19"=>"3","val20"=>"3","val21"=>"3","val22"=>"3","val23"=>"3","val24"=>"4","val25"=>"4","val26"=>"4","val27"=>"4","val28"=>"4","val29"=>"4","val30"=>"5","val31"=>"5","val32"=>"5","val33"=>"5","val34"=>"5","val35"=>"5","val36"=>"5","val37"=>"5","val38"=>"5","val39"=>"0","val40"=>"0","val41"=>"0","val42"=>"0","val43"=>"0","val44"=>"0","val45"=>"0","val46"=>"0","val47"=>"0","val48"=>"0"],
["val0"=>"1.8","val1"=>"2","val2"=>"2","val3"=>"2","val4"=>"2","val5"=>"2","val6"=>"2","val7"=>"2","val8"=>"2","val9"=>"2","val10"=>"2","val11"=>"2","val12"=>"2","val13"=>"3","val14"=>"3","val15"=>"3","val16"=>"3","val17"=>"3","val18"=>"3","val19"=>"3","val20"=>"3","val21"=>"3","val22"=>"3","val23"=>"4","val24"=>"4","val25"=>"4","val26"=>"4","val27"=>"4","val28"=>"4","val29"=>"5","val30"=>"5","val31"=>"5","val32"=>"5","val33"=>"5","val34"=>"5","val35"=>"5","val36"=>"5","val37"=>"5","val38"=>"0","val39"=>"0","val40"=>"0","val41"=>"0","val42"=>"0","val43"=>"0","val44"=>"0","val45"=>"0","val46"=>"0","val47"=>"0","val48"=>"0"],
["val0"=>"2.1","val1"=>"2","val2"=>"2","val3"=>"2","val4"=>"2","val5"=>"2","val6"=>"2","val7"=>"2","val8"=>"2","val9"=>"2","val10"=>"2","val11"=>"2","val12"=>"3","val13"=>"3","val14"=>"3","val15"=>"3","val16"=>"3","val17"=>"3","val18"=>"3","val19"=>"3","val20"=>"3","val21"=>"3","val22"=>"4","val23"=>"4","val24"=>"4","val25"=>"4","val26"=>"4","val27"=>"5","val28"=>"5","val29"=>"5","val30"=>"5","val31"=>"5","val32"=>"5","val33"=>"5","val34"=>"5","val35"=>"5","val36"=>"0","val37"=>"0","val38"=>"0","val39"=>"0","val40"=>"0","val41"=>"0","val42"=>"0","val43"=>"0","val44"=>"0","val45"=>"0","val46"=>"0","val47"=>"0","val48"=>"0"],
["val0"=>"2.4","val1"=>"2","val2"=>"2","val3"=>"2","val4"=>"2","val5"=>"2","val6"=>"2","val7"=>"2","val8"=>"2","val9"=>"2","val10"=>"2","val11"=>"3","val12"=>"3","val13"=>"3","val14"=>"3","val15"=>"3","val16"=>"3","val17"=>"3","val18"=>"3","val19"=>"3","val20"=>"4","val21"=>"4","val22"=>"4","val23"=>"4","val24"=>"4","val25"=>"4","val26"=>"5","val27"=>"5","val28"=>"5","val29"=>"5","val30"=>"5","val31"=>"5","val32"=>"5","val33"=>"5","val34"=>"5","val35"=>"0","val36"=>"0","val37"=>"0","val38"=>"0","val39"=>"0","val40"=>"0","val41"=>"0","val42"=>"0","val43"=>"0","val44"=>"0","val45"=>"0","val46"=>"0","val47"=>"0","val48"=>"0"],
["val0"=>"2.7","val1"=>"2","val2"=>"2","val3"=>"2","val4"=>"2","val5"=>"2","val6"=>"2","val7"=>"2","val8"=>"2","val9"=>"2","val10"=>"3","val11"=>"3","val12"=>"3","val13"=>"3","val14"=>"3","val15"=>"3","val16"=>"3","val17"=>"3","val18"=>"3","val19"=>"4","val20"=>"4","val21"=>"4","val22"=>"4","val23"=>"4","val24"=>"5","val25"=>"5","val26"=>"5","val27"=>"5","val28"=>"5","val29"=>"5","val30"=>"5","val31"=>"5","val32"=>"0","val33"=>"0","val34"=>"0","val35"=>"0","val36"=>"0","val37"=>"0","val38"=>"0","val39"=>"0","val40"=>"0","val41"=>"0","val42"=>"0","val43"=>"0","val44"=>"0","val45"=>"0","val46"=>"0","val47"=>"0","val48"=>"0"],
["val0"=>"3","val1"=>"2","val2"=>"2","val3"=>"2","val4"=>"2","val5"=>"2","val6"=>"2","val7"=>"2","val8"=>"2","val9"=>"3","val10"=>"3","val11"=>"3","val12"=>"3","val13"=>"3","val14"=>"3","val15"=>"3","val16"=>"3","val17"=>"3","val18"=>"4","val19"=>"4","val20"=>"4","val21"=>"4","val22"=>"4","val23"=>"5","val24"=>"5","val25"=>"5","val26"=>"5","val27"=>"5","val28"=>"0","val29"=>"0","val30"=>"0","val31"=>"0","val32"=>"0","val33"=>"0","val34"=>"0","val35"=>"0","val36"=>"0","val37"=>"0","val38"=>"0","val39"=>"0","val40"=>"0","val41"=>"0","val42"=>"0","val43"=>"0","val44"=>"0","val45"=>"0","val46"=>"0","val47"=>"0","val48"=>"0"],
["val0"=>"3.3","val1"=>"2","val2"=>"2","val3"=>"2","val4"=>"2","val5"=>"2","val6"=>"2","val7"=>"2","val8"=>"3","val9"=>"3","val10"=>"3","val11"=>"3","val12"=>"3","val13"=>"3","val14"=>"3","val15"=>"3","val16"=>"4","val17"=>"4","val18"=>"4","val19"=>"4","val20"=>"4","val21"=>"5","val22"=>"5","val23"=>"5","val24"=>"5","val25"=>"5","val26"=>"5","val27"=>"5","val28"=>"0","val29"=>"0","val30"=>"0","val31"=>"0","val32"=>"0","val33"=>"0","val34"=>"0","val35"=>"0","val36"=>"0","val37"=>"0","val38"=>"0","val39"=>"0","val40"=>"0","val41"=>"0","val42"=>"0","val43"=>"0","val44"=>"0","val45"=>"0","val46"=>"0","val47"=>"0","val48"=>"0"],
["val0"=>"3.6","val1"=>"2","val2"=>"2","val3"=>"2","val4"=>"2","val5"=>"2","val6"=>"2","val7"=>"3","val8"=>"3","val9"=>"3","val10"=>"3","val11"=>"3","val12"=>"3","val13"=>"3","val14"=>"4","val15"=>"4","val16"=>"4","val17"=>"4","val18"=>"5","val19"=>"5","val20"=>"5","val21"=>"5","val22"=>"5","val23"=>"5","val24"=>"0","val25"=>"0","val26"=>"0","val27"=>"0","val28"=>"0","val29"=>"0","val30"=>"0","val31"=>"0","val32"=>"0","val33"=>"0","val34"=>"0","val35"=>"0","val36"=>"0","val37"=>"0","val38"=>"0","val39"=>"0","val40"=>"0","val41"=>"0","val42"=>"0","val43"=>"0","val44"=>"0","val45"=>"0","val46"=>"0","val47"=>"0","val48"=>"0"],
["val0"=>"3.9","val1"=>"2","val2"=>"2","val3"=>"2","val4"=>"2","val5"=>"3","val6"=>"3","val7"=>"3","val8"=>"3","val9"=>"3","val10"=>"3","val11"=>"3","val12"=>"4","val13"=>"4","val14"=>"4","val15"=>"4","val16"=>"5","val17"=>"5","val18"=>"5","val19"=>"5","val20"=>"5","val21"=>"5","val22"=>"0","val23"=>"0","val24"=>"0","val25"=>"0","val26"=>"0","val27"=>"0","val28"=>"0","val29"=>"0","val30"=>"0","val31"=>"0","val32"=>"0","val33"=>"0","val34"=>"0","val35"=>"0","val36"=>"0","val37"=>"0","val38"=>"0","val39"=>"0","val40"=>"0","val41"=>"0","val42"=>"0","val43"=>"0","val44"=>"0","val45"=>"0","val46"=>"0","val47"=>"0","val48"=>"0"],
["val0"=>"4.2","val1"=>"2","val2"=>"2","val3"=>"2","val4"=>"2","val5"=>"3","val6"=>"3","val7"=>"3","val8"=>"3","val9"=>"3","val10"=>"4","val11"=>"4","val12"=>"4","val13"=>"4","val14"=>"5","val15"=>"5","val16"=>"5","val17"=>"0","val18"=>"0","val19"=>"0","val20"=>"0","val21"=>"0","val22"=>"0","val23"=>"0","val24"=>"0","val25"=>"0","val26"=>"0","val27"=>"0","val28"=>"0","val29"=>"0","val30"=>"0","val31"=>"0","val32"=>"0","val33"=>"0","val34"=>"0","val35"=>"0","val36"=>"0","val37"=>"0","val38"=>"0","val39"=>"0","val40"=>"0","val41"=>"0","val42"=>"0","val43"=>"0","val44"=>"0","val45"=>"0","val46"=>"0","val47"=>"0","val48"=>"0"],
["val0"=>"4.5","val1"=>"0","val2"=>"0","val3"=>"0","val4"=>"0","val5"=>"0","val6"=>"0","val7"=>"0","val8"=>"0","val9"=>"0","val10"=>"0","val11"=>"0","val12"=>"0","val13"=>"0","val14"=>"0","val15"=>"0","val16"=>"0","val17"=>"0","val18"=>"0","val19"=>"0","val20"=>"0","val21"=>"0","val22"=>"0","val23"=>"0","val24"=>"0","val25"=>"0","val26"=>"0","val27"=>"0","val28"=>"0","val29"=>"0","val30"=>"0","val31"=>"0","val32"=>"0","val33"=>"0","val34"=>"0","val35"=>"0","val36"=>"0","val37"=>"0","val38"=>"0","val39"=>"0","val40"=>"0","val41"=>"0","val42"=>"0","val43"=>"0","val44"=>"0","val45"=>"0","val46"=>"0","val47"=>"0","val48"=>"0"],
["val0"=>"4.8","val1"=>"0","val2"=>"0","val3"=>"0","val4"=>"0","val5"=>"0","val6"=>"0","val7"=>"0","val8"=>"0","val9"=>"0","val10"=>"0","val11"=>"0","val12"=>"0","val13"=>"0","val14"=>"0","val15"=>"0","val16"=>"0","val17"=>"0","val18"=>"0","val19"=>"0","val20"=>"0","val21"=>"0","val22"=>"0","val23"=>"0","val24"=>"0","val25"=>"0","val26"=>"0","val27"=>"0","val28"=>"0","val29"=>"0","val30"=>"0","val31"=>"0","val32"=>"0","val33"=>"0","val34"=>"0","val35"=>"0","val36"=>"0","val37"=>"0","val38"=>"0","val39"=>"0","val40"=>"0","val41"=>"0","val42"=>"0","val43"=>"0","val44"=>"0","val45"=>"0","val46"=>"0","val47"=>"0","val48"=>"0"],
["val0"=>"5.1","val1"=>"0","val2"=>"0","val3"=>"0","val4"=>"0","val5"=>"0","val6"=>"0","val7"=>"0","val8"=>"0","val9"=>"0","val10"=>"0","val11"=>"0","val12"=>"0","val13"=>"0","val14"=>"0","val15"=>"0","val16"=>"0","val17"=>"0","val18"=>"0","val19"=>"0","val20"=>"0","val21"=>"0","val22"=>"0","val23"=>"0","val24"=>"0","val25"=>"0","val26"=>"0","val27"=>"0","val28"=>"0","val29"=>"0","val30"=>"0","val31"=>"0","val32"=>"0","val33"=>"0","val34"=>"0","val35"=>"0","val36"=>"0","val37"=>"0","val38"=>"0","val39"=>"0","val40"=>"0","val41"=>"0","val42"=>"0","val43"=>"0","val44"=>"0","val45"=>"0","val46"=>"0","val47"=>"0","val48"=>"0"],
["val0"=>"5.4","val1"=>"0","val2"=>"0","val3"=>"0","val4"=>"0","val5"=>"0","val6"=>"0","val7"=>"0","val8"=>"0","val9"=>"0","val10"=>"0","val11"=>"0","val12"=>"0","val13"=>"0","val14"=>"0","val15"=>"0","val16"=>"0","val17"=>"0","val18"=>"0","val19"=>"0","val20"=>"0","val21"=>"0","val22"=>"0","val23"=>"0","val24"=>"0","val25"=>"0","val26"=>"0","val27"=>"0","val28"=>"0","val29"=>"0","val30"=>"0","val31"=>"0","val32"=>"0","val33"=>"0","val34"=>"0","val35"=>"0","val36"=>"0","val37"=>"0","val38"=>"0","val39"=>"0","val40"=>"0","val41"=>"0","val42"=>"0","val43"=>"0","val44"=>"0","val45"=>"0","val46"=>"0","val47"=>"0","val48"=>"0"],
["val0"=>"5.7","val1"=>"0","val2"=>"0","val3"=>"0","val4"=>"0","val5"=>"0","val6"=>"0","val7"=>"0","val8"=>"0","val9"=>"0","val10"=>"0","val11"=>"0","val12"=>"0","val13"=>"0","val14"=>"0","val15"=>"0","val16"=>"0","val17"=>"0","val18"=>"0","val19"=>"0","val20"=>"0","val21"=>"0","val22"=>"0","val23"=>"0","val24"=>"0","val25"=>"0","val26"=>"0","val27"=>"0","val28"=>"0","val29"=>"0","val30"=>"0","val31"=>"0","val32"=>"0","val33"=>"0","val34"=>"0","val35"=>"0","val36"=>"0","val37"=>"0","val38"=>"0","val39"=>"0","val40"=>"0","val41"=>"0","val42"=>"0","val43"=>"0","val44"=>"0","val45"=>"0","val46"=>"0","val47"=>"0","val48"=>"0"],
["val0"=>"6","val1"=>"0","val2"=>"0","val3"=>"0","val4"=>"0","val5"=>"0","val6"=>"0","val7"=>"0","val8"=>"0","val9"=>"0","val10"=>"0","val11"=>"0","val12"=>"0","val13"=>"0","val14"=>"0","val15"=>"0","val16"=>"0","val17"=>"0","val18"=>"0","val19"=>"0","val20"=>"0","val21"=>"0","val22"=>"0","val23"=>"0","val24"=>"0","val25"=>"0","val26"=>"0","val27"=>"0","val28"=>"0","val29"=>"0","val30"=>"0","val31"=>"0","val32"=>"0","val33"=>"0","val34"=>"0","val35"=>"0","val36"=>"0","val37"=>"0","val38"=>"0","val39"=>"0","val40"=>"0","val41"=>"0","val42"=>"0","val43"=>"0","val44"=>"0","val45"=>"0","val46"=>"0","val47"=>"0","val48"=>"0"],
["val0"=>"6.3","val1"=>"0","val2"=>"0","val3"=>"0","val4"=>"0","val5"=>"0","val6"=>"0","val7"=>"0","val8"=>"0","val9"=>"0","val10"=>"0","val11"=>"0","val12"=>"0","val13"=>"0","val14"=>"0","val15"=>"0","val16"=>"0","val17"=>"0","val18"=>"0","val19"=>"0","val20"=>"0","val21"=>"0","val22"=>"0","val23"=>"0","val24"=>"0","val25"=>"0","val26"=>"0","val27"=>"0","val28"=>"0","val29"=>"0","val30"=>"0","val31"=>"0","val32"=>"0","val33"=>"0","val34"=>"0","val35"=>"0","val36"=>"0","val37"=>"0","val38"=>"0","val39"=>"0","val40"=>"0","val41"=>"0","val42"=>"0","val43"=>"0","val44"=>"0","val45"=>"0","val46"=>"0","val47"=>"0","val48"=>"0"],
["val0"=>"6.6","val1"=>"0","val2"=>"0","val3"=>"0","val4"=>"0","val5"=>"0","val6"=>"0","val7"=>"0","val8"=>"0","val9"=>"0","val10"=>"0","val11"=>"0","val12"=>"0","val13"=>"0","val14"=>"0","val15"=>"0","val16"=>"0","val17"=>"0","val18"=>"0","val19"=>"0","val20"=>"0","val21"=>"0","val22"=>"0","val23"=>"0","val24"=>"0","val25"=>"0","val26"=>"0","val27"=>"0","val28"=>"0","val29"=>"0","val30"=>"0","val31"=>"0","val32"=>"0","val33"=>"0","val34"=>"0","val35"=>"0","val36"=>"0","val37"=>"0","val38"=>"0","val39"=>"0","val40"=>"0","val41"=>"0","val42"=>"0","val43"=>"0","val44"=>"0","val45"=>"0","val46"=>"0","val47"=>"0","val48"=>"0"],
["val0"=>"6.9","val1"=>"0","val2"=>"0","val3"=>"0","val4"=>"0","val5"=>"0","val6"=>"0","val7"=>"0","val8"=>"0","val9"=>"0","val10"=>"0","val11"=>"0","val12"=>"0","val13"=>"0","val14"=>"0","val15"=>"0","val16"=>"0","val17"=>"0","val18"=>"0","val19"=>"0","val20"=>"0","val21"=>"0","val22"=>"0","val23"=>"0","val24"=>"0","val25"=>"0","val26"=>"0","val27"=>"0","val28"=>"0","val29"=>"0","val30"=>"0","val31"=>"0","val32"=>"0","val33"=>"0","val34"=>"0","val35"=>"0","val36"=>"0","val37"=>"0","val38"=>"0","val39"=>"0","val40"=>"0","val41"=>"0","val42"=>"0","val43"=>"0","val44"=>"0","val45"=>"0","val46"=>"0","val47"=>"0","val48"=>"0"],
["val0"=>"7.2","val1"=>"0","val2"=>"0","val3"=>"0","val4"=>"0","val5"=>"0","val6"=>"0","val7"=>"0","val8"=>"0","val9"=>"0","val10"=>"0","val11"=>"0","val12"=>"0","val13"=>"0","val14"=>"0","val15"=>"0","val16"=>"0","val17"=>"0","val18"=>"0","val19"=>"0","val20"=>"0","val21"=>"0","val22"=>"0","val23"=>"0","val24"=>"0","val25"=>"0","val26"=>"0","val27"=>"0","val28"=>"0","val29"=>"0","val30"=>"0","val31"=>"0","val32"=>"0","val33"=>"0","val34"=>"0","val35"=>"0","val36"=>"0","val37"=>"0","val38"=>"0","val39"=>"0","val40"=>"0","val41"=>"0","val42"=>"0","val43"=>"0","val44"=>"0","val45"=>"0","val46"=>"0","val47"=>"0","val48"=>"0"]
];
Final Thoughts
People sometimes say JavaScript isn’t good for real math. But I built a matrix-driven pump calculator for an industrial heating system — no frameworks, no React, just jQuery and a brain that refused to quit.
And honestly? That’s just 10% of what this calculator does. It simulates volume distribution, pressure logic, fallback vessel selection, and a bunch of things you’d normally expect from specialized engineering software. The pump logic is just one visible corner of a much deeper system.
I didn’t know matrix theory. I didn’t even like it in school.
But I made it work — because code isn’t about theory.
It’s about turning chaos into something that runs.
If you're a scientist, engineer, or Excel wizard wondering if you can build software: you absolutely can. You're already closer than you think.
And if someone tells me JavaScript isn't good for math? I’ll show them this calculator and say: "Hold my currentState
."