I agree with you mostly. Be aware I am very green at C++ so I can be talking out of my ass, but he seems to be using a well regarded JSON library:
https://github.com/nlohmann/json, so I suppose as you wrote, the problem is not the writing per se but the app code. What I find weird is that the author is aware of the problem and he does not seem to be a novice so I was kinda confused.
The solution files can be "big" (50mb-1gb), but at the end is just text you dump:
strategy":{"actions":["CALL","FOLD"],"strategy":{"4c3c":[0.0,1.0],"4d3d":[0.0,1.0],"4h3h":[0.0,1.0],"4s3s":[0.0,1.0],"5c3c":[0.0,1.0],"5c4c":[0.0,1.0],"5d3d":[0.0,1.0],"5d4d":[0.0,1.0],"5d5c":[0.0,1.0],"5h3h":[0.0,1.0],"5h4h":[0.0,1.0],"5h5c":[2.5824634576565586e-05,0.9999741911888123],"5h5d":[2.5824634576565586e-05,0.9999741911888123],"5s3s":[0.0,1.0],"5s4s":[0.0,1.0],"5s5c":[0.0,1.0],"5s5d":[0.0,1.0],"5s5h":[2.626265268190764e-05,0.999973714351654],"6c4c":[0.0,1.0],"6c5c":[0.0,1.0],"6d4d":[0.0,1.0],"6d5d":[0.0,1.0],"6d6c":[2.4980874513857998e-05,0.9999749660491943],"6h4h":[0.0,1.0],"6h5h":[0.0,1.0],"6h6c":[4.3094147258671e-05,0.9999569058418274],"6h6d":[4.3094147258671e-05,0.9999569058418274],"6s4s":[0.0,1.0],"6s5s":[0.0,1.0],"
Besides JSON is terrible to work with, a 24 MB file takes forever to open in my laptop.