Have each challenge open a git repo where the code can be developed locally and pushed to the server. Only issue is checking size, and maybe it being abused as a way to store data.