The talk is about how someone can build an architecture based on signals and React and how we have been using FRP at Grammarly for quite some time.
At Grammarly, we build user-facing applications for multiple platforms. We aim to provide a similar, if not the same, experience on all of them. The apparent way is to build, test, and validate everything once and automatically deploy it to all platforms. It’s easy to rely on existing solutions when you’re a classical web application, but what should you do if your domain is not that straightforward? In my talk, I'll share our journey in finding the right solution, what we've accomplished so far, and our plans for the future.
The System Design interview is a relatively new type of interview for the front-end. However, it's been a default interview in Grammarly for quite a while. I will show an almost real-life example, and we will discuss what to pay attention to during such interviews.
My part is about key vectors of attacks and practices to protect your web application.
The meetup is about how do we test in general and about Marble in the Grammarly Editor codebase.
- How to Use Bazel to Manage Monorepos: The Grammarly Front-End Team's Experience (rus): The talk is about why we decided to use monorepo for Grammarly OnlineEditor and why chose Bazel to manage it.
At some point, we reached the limit of the existing build process in the Grammarly Editor monorepo. Build tools required too much time to support, and each new package increased build time and made dependency management harder. To move further, we had to rethink the architecture of the build process. Our solution: We switched to Bazel. In this talk, I will share our findings and how we made the architecture of the build process scalable and predictable.
- Real-time Collaborative Text Editing on Grammarly’s Front-End Team (rus): The talk about how the Grammarly Front-End team has solved real-time collaboration editing in creating the Grammarly Editor.
Real-time collaboration editing is a common task on the modern web. I will tell you about how the Grammarly Front-End team has solved it in creating the Grammarly Editor. This talk will focus on the complexity, communication protocols, and the nuances of implementing it on the front-end.
The meetup is about how do we test in general and about Marble and Property-based testing in Grammarly Editor codebase.
- Solving behavioral complexity with FRP (rus): deep dive into how we apply FRP when building Grammarly Editor
At Grammarly, we have tried different approaches to handle behavioral complexity. We made a long journey from callback hell to FRP, and from dynamic to static typing. We will discuss how FRP helped us build stable high-loaded front-end applications with complex async actions for millions of daily users.
- False Simplicity of Front-End Applications: Our Experience (rus): similar title as #1 but different talk, with more details about Grammarly Editor implementation challenges
Description: Togather with Yaroslav Voloshchuk talking about the implementation challenges of Grammarly Editor and why certain decision were made.
- Under the Hood of the Grammarly Editor
- Part One: Real-Time Collaborative Text Editing is about how clients collaborate with backend in real time
- Part Two: How Suggestions Work is about how real-time suggestions work on the front-end side