private string CreateProjectJson(List<IPolygon> polygons)
        {
            // get the geojson of the aois
            var aoi = Jarvis.ConvertPolygonsToGeoJson(polygons);
            var newProject = new Project();
            newProject.aois.Add(aoi);

            newProject.originalGeometries.Add(aoi);
            newProject.namedBuffers.Add(new NamedBuffer { name = "original AOI", buffer = aoi });

            newProject.name = this.projectNameTextbox.Text;

            if (this.availableRecipesCombobox.SelectedIndex != -1)
            {
                var recName =
                    this.availableRecipesCombobox.Items[this.availableRecipesCombobox.SelectedIndex].ToString();
                var recipe = this.GetRecipe(recName);

                if (recipe != null)
                {
                    var recipeConfig = new RecipeConfig { recipeId = recipe.id, recipeName = recipe.name };
                    newProject.recipeConfigs.Add(recipeConfig);
                }
            }

            var projectJson = JsonConvert.SerializeObject(newProject).Replace("\\", "");

            projectJson = projectJson.Replace("\"aois\":[\"{\"", "\"aois\":[{\"");
            projectJson = projectJson.Replace("\"],\"recipeConfigs\"", "],\"recipeConfigs\"");
            projectJson = projectJson.Replace("\"originalGeometries\":[\"", "\"originalGeometries\":[");
            projectJson = projectJson.Replace("\"],\"namedBuffers\"", "],\"namedBuffers\"");
            projectJson = projectJson.Replace("\"buffer\":\"{", "\"buffer\":{");
            projectJson = projectJson.Replace("]]}\"}]}", "]]}}]}");

            return projectJson;
        }