To streamline the template selection process, we released a search bar in the template store. After releasing the template search in English with support for over 100,000 unique search terms, we needed a quick way to provide the same experience in five additional languages. This post describes how we quickly internationalized the template search along with some challenges we faced along the way.

In this blog post I’ll describe the system we built for delivering front-end translations at Squarespace. I’ll describe how translation code is written, extracted, and translated, the rationale behind some of our architectural decisions, and some of the functional and internationalization-specific lessons we learned along the way.

What I’ve learned at Squarespace is that technical aesthetics can be described precisely and that developing that vocabulary to use in conversations with colleagues about the merits of designs can lead to more beautiful systems, which carry significant practical benefits.

At Squarespace, our mission is to help anyone in the world bring their ideas to life through our  platform. We want to provide a fully localized product and set of tools so that our current and future customers have the ability to create a website in any language using the entirety of the product.Along with the launch of an end-to-end Squarespace experience in Spanish, in this blog post we would like to take a look at some of the major technologies that power our global expansion.

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.

It is important to understand how containers are implemented using Linux control groups (cgroups) and namespaces. Understanding the features and limitations has helped us dramatically improve the performance of our Java services especially under stressful scenarios.