For the last few years I have been working at Wix. Specifically, I worked at a small group within Wix called FED Infra, which developed dev-tooling for Wix's front-end teams. I had the luxury of working with some of the brightest minds the Israeli tech scene has to offer and I am happy that I had the opportunity to do so.
Most of the projects I worked on were related to performance, and it was incredibly exciting to work on that area, given that performance was (and still is) one of Wix's most important principles in the last couple of years. The entire team (and FED guild) worked together to create a performance-oriented culture with tools along with mindset. You can read more about it in the great article "Improving the performance of Wix websites".
As part of FED Infra work, we worked on various problems and projects. Most of our projects were rough ideas that we had to figure out on our own: make our own dev-tool products, and see how people react to them. One of them is called Perfer.
Perfer started as a command-line utility but made its way into becoming a set of utilities and libraries to help people measure their performance. The idea was simple: what if we had a test runner that verifies performance instead of correctness? This packaged an e2e testing platform for both Node and the browser (using Puppeteer), and eventually worked on top of AWS Lambdas to provide maximum parallelism while not sacrificing correctness and creating variance.
After a couple of months, we decided to pivot a bit. Instead of just using custom Wix metrics, we wanted to measure ourselves the way our users, who build websites on top of our platforms, do. Lighthouse tests were the obvious answer here, and we implemented two solutions to do so. One of these solutions is called Watchtower.
Watchtower is an internal clone of web.dev or PageSpeed Insights, with massive scaling to support Wix's CI environments and hundreds of front-end developers. Every time a Wix dev commits something to a Wix repo, they run Lighthouse as a part of their pipeline. Watchtower integrates flawlessly with Perfer, to provide the same mechanism of avoiding degradations and charting historical data.
However, Running Lighthouse only on CI did not give us a complete picture. Some things, unfortunately, are harder to figure out on a per-commit basis. This is why we deployed Lightkeeper.
Lightkeeper is a Wix website (what we call Wix on Wix) that allows any employee to provide a list of sites they want to track performance of, and get a link to an autogenerated Grafana dashboard. In that dashboard, users can create alerts on top of all Lighthouse metrics, like the score, server response, or time-to-interactive. This is also helpful for our own team when we want to upgrade Lighthouse versions, or if we want to figure out what's the impact of the next Lighthouse version before it arrives PageSpeed Insights and web.dev!
Besides these tools, the team has created a plethora of other tools and conducted many other experiments. Some went well, some went sideways... but I'm glad to say that Wix performance, both in actual measurements and in culture, is better than ever. I'm happy that I had the opportunity to have such an impact (even if the impact was transitively by creating dev-tooling, rather than by solving the actual performance issues..... there are enough smart people working on that 😈 )
The ongoing pandemic and working almost full-remote for the last two years made me realize that I can try and expand the job selection and explore amazing new places.
And so, I've decided to take this path of providing great dev-tooling to the next level and join Vercel.
I feel that Vercel’s offer of excellent and modern dev-tooling, alongside the company’s vision of pushing the web forward and making it faster and more reachable is something that I must be a part of.
Moreover, I’m already a huge fan of Vercel products and vision, so that’s an incredible opportunity for me to help building what I love.
I really feel blessed that I had the opportunity to join Wix, and especially the FED Infra group. I would like to thank anyone with whom I worked, for making my time there so special.
Thanks for surviving my weird talks, ideas, rants on slow software, and lame jokes 🙂
Keep in touch!
Gal