Currently we store the files for a project as blob and use in-memory operations to perform tasks over that blob. This works well if you are trying a few things in a playground but to do more than that, such as conducting a review of the architecture, or collaborating with team members, we need something better. Good thing is, code is at the centre of our platform, which means we can use the already mature solutions for these problems. In this case, that's Git.