The JSON Resume schema did not support what we needed, so we deliberately created our own.

We wanted to define 9 different entry schemas that could be used under any section title. In our schema, each section, regardless of its title, contains a list composed of one of these nine entry types. This is different from the JSON Resume approach, where specific entry schemas are tied to specific sections (work schema for work section, etc.).

In RenderCV, users can choose any section title they want and use any of the 9 entry types within it. Each entry type is rendered differently in the generated PDF.