If I were to take up your challenge, I would probably just use sqlite. Is that cheating?
The challenge needs to add the condition of the app stretching the hardware capabilities so hard that a whole pile of not-so-clean optimization tricks are necessary to get the performance up to the acceptable level.
The file format is also well documented and fairly complex. https://www.sqlite.org/fileformat.html