Over the last three years, we have begun to make investments in architectural changes, including the breakup of our monolith into smaller, well-defined service boundaries. In this blog post, I will touch on a challenge that the Core Services Team faced: defining the pillars and core functionality of a service.

How do we become familiar with such a wide range of customers to build them the products they need? Many Squarespace sites are heavily visual and contain a lot of images and photos. If we were to only search with text, we’d miss crucial visual and stylistic features of many Squarespace sites.

As part of our ongoing efforts to improve user experience on the Squarespace platform, we added a feature to display thumbnail previews of all of your account’s sites in the account picker. Since we didn’t have any existing functionality around screenshot generation, this was something we had to build from scratch. In this post we’ll talk about the screenshots microservice solution we came up with.

Every other Wednesday, the Frontend Engineers at Squarespace convene in a large room to hash out these issues. We discuss and shop around new technologies and patterns. We decide which haircuts to give our yaks, and what shade of gray looks best on our bike shed.

Automated UI tests are a crucial part of our QA process. Before going to production, we run a set of smoke tests which navigate around parts of the UI, recording screenshots and comparing them against a set of golden images. If a significant mismatch occurs, we consider the test failed and halt deploys while we investigate the issue.

Data scientists, business operations, finance, and marketing teams are all working off our curated data stores to make critical decisions about the direction of the business, and there will inevitably come a time when somebody looks at a report and asks: "How do we know these numbers are correct?"