StrengthLab
Predict concrete strength from the mix recipe, 28 days early.
- Year
- 2026
- Role
- Modelling, API and interface
- Stack
- PythonNumPyFastAPIPlotly.js

01 — The problem
Type in a concrete mix and get its predicted strength with an honest error band, the chance it passes its IS grade and the IS 456 durability checks, before anything is cast.
Indian practice specifies concrete by grade: M30 must reach 30 MPa at 28 days (IS 456:2000). The only way to confirm it is to crush test cubes, and by day 28 the slab above is often already built.
Getting a mix right takes trial batches, cement and time, and every ingredient affects strength non-linearly.
02 — What it does
Strength with a band
Predicted MPa at any age with a 95% interval from a Bayesian kernel model.
Grade check
The probability of reaching M20–M40, with seven classifiers voting pass or fail.
Durability
IS 456 Table 5 limits for the chosen exposure: minimum binder, maximum water/binder ratio, minimum grade.
Greener mixes
A rough embodied-CO₂ estimate, so slag and fly ash can be tried in place of cement.
03 — How it works
- 1
Six regressors and six classifiers, each implemented from its equations in NumPy and trained on 1,030 real laboratory cube tests.
- 2
Kernel choice matters: test R² climbs from 0.852 (linear) through 0.934 (cubic) to 0.940 with an RBF kernel.
- 3
A kernel lab lets you drag γ and λ while the server refits the model live on 704 mixes, and a decision-boundary explorer shows every classifier.
- 4
16 tests, with scikit-learn used only as a reference implementation.
04 — Results
- Typical error of 4.3 MPa and R² 0.940 on held-out mixes.
- Pass/fail accuracy from 83% to 97% across the five grades; 90.7% for M30.
In pictures
5 screens




KALĀ
Three interactive journeys through 5,000 years of Indian art.