Need fast iterations with hot reload, debugging, and collaboration over k8s envs?

How Clay's Engineers Migrated from Skaffold to Raftt for Development

The Raftt Team
June 25, 2023
 min read

### About Clay

Early education centers are increasingly on the frontlines of the mental health crisis. Clay is a platform that empowers early education centers to address potential behavioral and developmental health concerns in young children, improving classroom functioning.

The company has a mobile application, a web application for parents, and a separate web application to manage psychologists. The backend comprises 10 services in a Kubernetes cluster, that communicate between them using a message queue. The frontend is mostly built using JavaScript, and Flutter and React are used for mobile and web applications, respectively.

### The Challenge

Before using Raftt, Clay used Skaffold for their day-to-day development, and faced significant challenges while doing so. One of these, according to Francisco Machado, Clay’s tech lead, was the time-consuming process of building images and running them in their local environment. With their workflow, manual testing was a crucial part of the development process, and waiting for Skaffold to build and deploy was a bottleneck.

Skaffold was working fine for the team’s use in staging and production, but it could not keep up with the fast iterations required for efficient development. Starting the environment from scratch, or switching branches both took a long time, and caused engineers to waste valuable time.

Another issue Clay’s dev team faced was the CPU architecture mismatch between their dev machines (ARM Macbooks) and their production (x86-64), which meant it was difficult or very slow to run the containers locally.

### The Solution

Clay’s dev team looked for a solution, and found Raftt. Raftt's CLI can be installed on any dev machine (regardless of OS and architecture), making it easy to develop without hardware limitations. With Raftt, the entire environment is brought up in a remote cluster, so the runtime is more consistent with staging and production environments.

Finally, Raftt’s ability to provide true fast iterations for development meant that not only are the existing pain points eliminated, but the feedback cycle got a lot shorter. A shorter feedback cycle translated to a boost in productivity and developer happiness.

### Making the Switch: Embracing Raftt for Seamless DevX

As they onboarded to Raftt, the developers at Clay have made more and more use of the platform’s advanced features - utilizing the remote environments for collaboration, switching between branches (and environments) seamlessly, and debugging using Raftt’s plugins.

Not only was the original problem solved and development made more efficient, but additional capabilities are unlocked that allow the team to work better (together… and also apart). Once the initial configuration was created, onboarding the team happened quickly and feedback on the switch to Raftt was very positive.

In conclusion, Clay's engineers found Raftt to be a helpful tool in overcoming the challenges faced when using Skaffold for development. Raftt's CLI's support for arbitrary operating systems and CPU architectures, and the seamless work with remote environments (and as a result the ability to use images no matter their architecture) made it an attractive alternative. The team enjoyed Raftt's features such as collaboration, and easier switching between environments. With Raftt, the team reduced the time they spent waiting on image builds and deploys and improved their productivity.

The Raftt Team

Stop wasting time worrying about your dev env.
Concentrate on your code.

The ability to focus on doing what you love best can be more than a bottled-up desire lost in a sea of frustration. Make it a reality — with Raftt.