I have a repository on GitLab that contains a LaTex file each for an application letter, a CV and all my documents. In addition, I have an SQLite DB that contains past positions and a skill matrix in german and english language, and some python scripts that can convert the data into LaTeX format.
I keep the master branch up to date. Each time I apply somewhere, I branch off master and edit the files accordingly. I then generate a PDF that I can submit.
And because this is not complicated enough, I have a GitLab CI job that generates a CV from the master branch and uploads it to a private server in case somebody asks me for it.