Angular Signals in action: Lessons from scaling a complex platform
Authors:
Nikita Krikun & Chris Kapp, Senior Software Engineers at Sensat

At Sensat, staying on the cutting edge of technology isn’t just an ambition—it’s a necessity. As our platform evolves to meet growing user demands, we’ve embraced Angular Signals, a technology at the forefront of reactive front-end development. Here's why we made this leap, the challenges we overcame, and what it means for our product and team.
The problem space: Evolving beyond legacy approaches
Building and scaling large web applications is no small feat. Traditional approaches in Angular, such as using RxJS for state management, often lead to performance challenges. Imagine managing a sprawling warehouse of interconnected data, where each change can ripple through the entire system. This approach can slow down applications, complicate codebases, and increase the risk of errors.
Enter Angular Signals, a modern approach designed to localise state changes, making applications faster, leaner, and easier to maintain. Instead of processing the entire "warehouse," Signals let us focus on specific "distribution centres," reacting only to the precise parts of the application that need updates.
Why we chose Angular Signals
Rebuilding parts of our platform offered us a rare opportunity to adopt Angular Signals from the ground up. This decision wasn’t made lightly. We weighed the risks and benefits:
- Sticking with the familiar - RxJS was a proven, albeit complex, solution. We were comfortable with it but knew falling behind would eventually hold us back.
- Embracing innovation - Angular Signals offered a simplified syntax, improved performance, and the promise of scalability. Despite its novelty, the potential benefits outweighed the risks.
Ultimately, we embraced Signals, recognising its alignment with our goals of creating a scalable, efficient platform for our users.
Overcoming challenges: Innovating in uncharted territory
Being an early adopter of Angular Signals isn’t without its hurdles. Here are two key challenges we faced:
1. Navigating edge cases without a map
With Signals still relatively new, documentation and community support were largely limited. This left us to solve unique challenges, such as avoiding infinite dependency loops when integrating Signals with our state-of-the-art 3D visualisation engine.
For the non-software-developer reading this, imagine you’re in a room with a microphone and a speaker. If the microphone picks up the speaker’s sound and amplifies it again, it creates a feedback loop—a screeching noise that gets louder and louder. Now picture this happening in software: one part of the system constantly triggers another part, which then triggers the first part again, over and over.
When we integrated Angular Signals with our 3D visualisation engine, we faced a similar challenge. Signals are designed to ‘react’ to changes, but without careful planning, they can keep reacting to each other indefinitely, just like that microphone and speaker. To solve this, we developed clear ‘rules of engagement’—like muting the microphone at the right moments—to prevent these loops from spiralling out of control while still allowing our system to perform at its best and set a foundation for future scalability.
2. Bridging old and new systems
Signals simplify front-end development but don’t entirely replace older systems like RxJS, which remains essential for asynchronous operations such as API requests.
By maintaining clear boundaries—using RxJS for server communication and Signals for UI updates—we ensured the two patterns are complimentary and the application remains consistent.
The benefits: Faster, scalable, and simpler
Adopting Angular Signals has already paid dividends:
- Improved UI performance - Signals streamline how changes are rendered, reducing lag and enhancing user experience, even with massive datasets.
- Simpler codebases - Signals’ intuitive syntax means our code is easier to write, read, and debug, cutting development time and improving collaboration.
- Improved confidence - The localised nature of Signals makes our changes easier to reason about and ensures they don’t have unintended side-effects.
As Nikita Krikun explains:
“Signals have simplified our way of writing code. Tasks that once required complex workarounds now come out of the box, letting us focus on what matters—building a better product.”
The Horizon project: A glimpse of the future
Our adoption of Angular Signals is an internal milestone of the Horizon project, the next generation of the Sensat platform. Scheduled for release in early 2025, Horizon will feature:
- Enhanced workspaces for better data management.
- Improved APIs for seamless integration.
- A more intuitive, scalable architecture built with Signals at its core.
Chris Kapp sums it up:
“This project showcases the power of Angular Signals. By building from scratch, we’ve created a platform that’s not just cutting edge—it’s future-proof.”
Why this matters to engineers (and the industry)
For engineers, working with the latest technologies is not just a career perk—it’s a necessity for growth. Sensat’s embrace of Angular Signals positions us as a company where developers can innovate, learn, and thrive.
As Nikita notes:
“Many companies rely on legacy codebases, which can limit your exposure to modern tools. At Sensat, we’re constantly pushing boundaries, making every day exciting.”
What’s next
Our journey with Angular Signals is just beginning. In the coming months, we’ll refine our implementation, integrate new Angular features, and continue to share insights with the development community.
Closing thoughts
Adopting Angular Signals was bold, but it reflects Sensat’s commitment to innovation and excellence. For those considering joining our team, it’s an exciting time to be part of this journey. Together, we’re not just building a platform but redefining what’s possible in front-end development.
If you're looking to adopt signals in your own applications and prefer more in-depth introductory explainers, check out this video from JetBrains