For non-technical domain experts and designers, creating designs that meet domain-specific goals can be a substantial challenge. This presents an opportunity to create specialized tools that produce optimized designs in the domain. However, implementing domain-specific optimization methods requires a rare programming and domain expertise combination. Creating flexible design tools with re-configurable optimizers that can tackle various problems in a domain requires even more domain and programming expertise.