I guess an app for Android or iOS could now be written
that could generate a BSFC map for a vehicle/engine combo in real time
by driving in different gears at different speeds.

In addition to the data from the OBD-II port,
GPS and accelerometer data could calculate power independent of OBD estimates.
It would be simpler if the roads were level, but GPS could factor in elevation changes and estimate uphill and downhill grades. Google and Apple maps mostly now contain this grade data.