Sorry for the self-plug but I have been working on something similar to this idea, but much more comprehensive, called Récivi[1]. It's still in the very early stage (like it doesn't have a webpage yet, but it has fairly good in-code documentation). I have also been making a website template, that can populate itself based on a Récivi JSON file[2].
p.s. love your home page, gonna steal ideas