What does it mean for an abstract thing like software to be beautiful? We know it when we see it because such software is powerful, expressive, and simple—but how does one create it? Is it possible to isolate and articulate? If so, how would one even go about talking about such a thing? Given that we care so much about aesthetics at Squarespace, how do we marry it with code?

Over the last four years, Squarespace’s product offerings have expanded significantly. To keep up with Squarespace's growing platform, we needed to scale our functional test coverage. We created Firepit, a user interface (UI) for configuring and triggering tests. Firepit empowers engineers to easily run custom test suites in Squarespace's deployment environments. The foundation of our testing philosophy is straightforward: write tests that are simple, readable, and stable.

 

With continuous deployment enabled for critical backend services and Squarespace’s entire application frontend, it is essential to have meaningful, reliable UI tests. Anything merged to master will ship to production automatically with no human checks, so these tests are the last guarantee that basic features of our product work. To effectively test Squarespace’s complex, interaction-heavy application, we built a uniquely powerful browser testing tool called Charcoal.

Designing web service APIs can be a tricky art form. APIs serve as a virtual playbook necessary for interacting with your business domain; and more importantly, they are the contracts that bind service owners with their consumers. Therefore, getting design right early on is an important part of the service engineering we do at Squarespace.

Squarespace hosts millions of websites on our cloud-based website-building platform. The reliability of these sites is a top priority for us. We’re consistently implementing the best technologies and safeguards to enable quick load times and prevent outages. The measures we take allow our customers to create Squarespace websites with confidence.