Programatically generating files and documents is a pain with current libraries. The APIs are often imperative which make them harder to mentally map to building a file. Imperative APIs are often more complicated or less intuative. The libraries also don't enforce good practises via constraints. Different file formats require at the moment requires the use of many libraries and different approaches.
- To create a declarative API for generating files
- To enable the creating of different file types from a single abstraction
- To challenge myself, learn new stuff and have fun!