Conf42 Rustlang 2025 - Online

- premiere 5PM GMT

Rust-Powered Business Intelligence: Building High-Performance User-Centric Dashboard

Video size:

Abstract

Rust transforms business dashboards with memory-safe, lightning-fast visualizations. Zero-cost abstractions enable blazing performance while compile-time guarantees eliminate entire bug classes. Organizations achieve faster decisions, improved efficiency, and bulletproof security in one solution.

The intersection of Rust and business intelligence is transforming how organizations interpret their data, with Rust-powered dashboards delivering memory-safe, lightning-fast visualizations that drive measurable business outcomes. From leveraging Rust’s zero-cost abstractions for visualization rendering to implementing type-safe navigation patterns and memory-safe security protocols, Rust enables dashboard implementations that significantly outperform traditional solutions. The combination of Rust’s performance characteristics with intuitive design principles, responsive layouts, and robust security measures creates high-performance interfaces that reduce decision-making time while maintaining exceptional reliability. By systematically implementing Rust-based solutions for visual hierarchy, personalization features, and quality assurance processes, organizations can develop powerful tools that bridge the gap between complex data and actionable insights with unprecedented speed and safety.

Summary

Transcript

This transcript was autogenerated. To make changes, submit a PR.
Hello everyone. My name is Shay Ter, and I'm a director at United Lake. Today I'm excited to talk about a modern approach to web analytics and business intelligence. We are going to dive into how we can build high performance user-centric dashboards using Rust. We will see how Rust can let us deliver better user experience through speed and reliability. Before we get into the technology, let me give you a quick background on why I'm passionate about this topic. I'm the director of IP Strategy and Technology at United Lakes. I'm based in Austin, Texas, in the United States of America. I lead the IP data science team where we create innovative solutions at the intersection of intellectual property and technology. I have been included in the I Am Strategy 300, a list of world's top IP strategists. One of the products that our team has developed is Vantage for I. It is a patent intelligence platform that processes hundreds and thousands of patents using natural language processing. It provides competitive intelligence, evaluates patent strengths, and uncovers licensing opportunities amongst other things. Two of my key focus areas are developing deep learning models to e evaluate patents and designing user friendly platforms to convey those results. So what exactly are the challenges with modern dashboards? I think we all have experienced this. You open a dashboard with a lot of data and it's slow, it's sluggish. It's a frustrating user experience. The root cause is often a combination of three key issues. Performance bottlenecks. Heavy data processing and calculations are typically done in JavaScript, which is an interpreted language. This leads to slow rendering and poor user experience, security risk, JavaScript, dynamic nature can introduce vulnerabilities, running complex, and sometimes untrusted code in a browser opens the application to various attacks, wasted resources. Inefficient code and frequent data transfers create a heavy load on both the client, CPU and the server wasting valuable resources. So the question is, how do we solve these problems without sacrificing the flexibility and richness of the modern web? The answer is a perfect partnership. Okay. The perfect partnership of rest and was, this is where the magic happens, an incredible combination of rest and web assembly or valve. They work together to address every one of those challenges. Let's first talk about rust. It feels like I'm preaching to the CO as everyone here is familiar with the benefit that trust brings to the table. Yet for the sake of completeness, let me highlight a few unmatched memory, safety, rust ownership and borrowing model eliminates entire classes of bugs like null pointers and databases. This isn't just stability, it's a huge security win. Zero cost abstractions, rust gives us powerful high level features like iterators and closures, but without the performance overhead, you'd expect. You get the best of both worlds built for concurrency, rust type system makes writing safe, parallel code much easier. This is a game changer for processing large data sets. Now let's take a moment to understand what web assembly is because it's the bridge that brings rust power to the browser. Web assembly isn't a new programming language, it's a compilation target. Think of it as the assembly language of the web. VSM is a low level binary format for a stack based virtual machine. It's what you compile languages like rust, c plus, or going to. Vast runs at speed that are almost as fast as native code, which is a massive performance jump for computation. Heavy tasks compared to traditional JavaScript VA modules run in a secure, isolated environment. This is crucial because it means a buggy or malicious was module can't access the rest of your webpage or the user system. So how does we combine these two technologies in practice? Let's walk through the workflow. The workflow is surprisingly straightforward. You don't have to rewrite your entire application In rust. We can be selective and strategic. Write the core logic in rust. This is the most important step. Identify the performance critical. Parts of your dashboard, data aggregation, complex, filtering, heavy calculations, and write those specifically in rust compile to M. Use a tool like Mack. It's a key part of the process that handles all the lift heavy lifting, creating a web assembly file and a JavaScript glue that allows your front end to talk to the vast module. Import and use the existing JavaScript. Frontend simply imports the vast module from the JavaScript perspective. It just another library, but it's a library that performs computationally intensive tasks at near native speed. Visualize with JavaScript existing UI frameworks like React or View can still be used for rendering. The rust valve part is the high performance engine under the hood. JavaScript part is the user interface on top. This approach leads to a clear, layered architecture. We can think of this as a three layer architecture. Each layer has a specific job, and rust plays a key role. In the first two data layer is the foundation. This is where you use rust to connect to data sources, manage memory efficient data structures, and build type safe queries. This ensures data is handled correctly and quickly from the very beginning processing layer. This is where rust power shine really shines. This layer handles parallel data processing, statistical analysis and data transformation visualization layer. This is the front end. This layer uses high speed output from the processing layer to render charts and tables. This is where you can leverage web assembly for browser rendering on native visualization for desktop apps, this layered approach is only possible because of the incredible rust ecosystem. Rust community has built an amazing ecosystem of libraries. For each layer of our architecture, there are robust and well-maintained crates available. Libraries like SQL X can be used for database interaction and polars for fast data frames. Then libraries like Rayon can be used for easy parallelism and NDRA for numerical computation. VA Mine Gen is the Last Rust Library designed to facilitate high level interactions between VA modules and JavaScript plotters for generating charts and tari. If you're building a desktop, applications theory is great, but look, let's look at some real world examples of this inaction. These are not just small projects, these are major applications. The challenge for Figma was real-time multiplayer. They needed to handle complex synchronization for multiple users. While technically not an analytics dashboard, it has a lot of similarities. Essentially, it requires processing real time data and presenting visual components in a smooth manner. Their solution was to rewrite their code multiplayer engine in rust. The results were astounding, a 3.8 x reduction in memory usage and six x reduction in CPU usage. This proves that rust isn't just for small optimizations, it's for mission critical code logic. Our next example is about a graph visualization, which was running at less than 10 frames per second on heavy desktops. This graph shows the relationship between different artists on Spotify. Spotify provides this data directly from their API. Users can click on an artist, see related artist, or drag an artist node and view other nodes, move together. The user experience was shareable. The solution was to move the heavy calculations to rest and web assembly. The result, the exact same visualizations now run at 60 frames per second, even on mobile devices. That's a massive difference for the end user. Finally, in the world of financial applications, processing massive data sets with billions of rows is a common problem. Data Bento provides real-time and historical market data to its users. They were struggling to process and analyze large data sets with ease, which would allow for timely and data-driven decisions in response to market changes. The solution was polars, a data frame library written in rust. Its performance is incredible. Which benchmarks? Showing it out outperforms pandas by eight to 15 x. It's a game changer for data wrangling and visualizing at scale. Speaking of visualizations, let's look at some of rush libraries that you can use to build these dashboards. As mentioned earlier, visualization can continue to be in JavaScript. However, the ecosystem of Rust Visualization libraries is growing and we already have some excellent choices for visualization. Plotters is a low level, powerful library for plotting data. Its versatile and can output to various formats. Charming is a great option. If you're a fan of Apache Echarts, it's provide a user-friendly declarative rust, API on top of the wok powerful JavaScript library. Plotly is an option for more scientific and statistical visualizations, leveraging the extensive feature set of lead js. Now that we have covered the technical side. Let's remember the most important part of building a grad grade dashboard. The user performance and security are vital, but a dashboard is only successful if it's useful and usable. We have to balance technical excellence with thoughtful design. Let's review some of the key design principles. Know your audience. This is the most critical principle. Before designing anything, you must understand who the users are, what their goals are, and what decisions they need to make. A CEO's dashboard will look very different from an analyst. Keep it simple. Dashboard should be easy to understand at a glance. Avoid clutter and unnecessary visuals. Use a clear, logical layout and a consistent visual language. The users should be able to find what they need without extensive searching or training. Provide context, data points on their own are often meaningless. A good dashboard provides context by showing data against a benchmark, a time series, or a key performance indicator with its target. This help, this helps users quickly interpret the information and understand its significance. Prioritize information. All data is created equal. Use visual hierarchy to guide the user's attention to the most important information First, this can be achieved through size, placement, and color. The most critical metrics should be front and center, while supporting data can be placed elsewhere. Enable customization, give users the ability to personalize their dashboard. Allowing them to filter data, change data ranges, or even rearrange widgets, empower them and makes the dashboard more relevant to their specific workflow. Ensure interactivity dashboards should not be static images. Allow users to drill down into specific data points, power over charts for more details, or click to explore underlying data. This interactivity inter encourages exploration and deeper understanding. Choose the right visuals. Select the chart type that best represents the data that supports the user's charts. For example, use a line chart to show trends over time, a bar chart to compare categories and a pie chart for parts to hold relationships. Using the wrong chart can lead to misinterpretation, accessibility, designed with accessibility in mind. This includes using color palettes that are accessible to users with colorblindness, providing clear labels and ensuring dashboard is navigable with keyboard or screen reader. By combining these design principles with the power of rust and web assembly, we can have a significant impact on our business. Let's bring it all home and talk. Why this is a big deal for our businesses and our organizations. Blazing speed. This isn't just about faster rendering, it's about delivering an outstanding user experience, which leads to better, faster decision making. Ironclad security memory safety means we eliminate a huge class of vulnerabilities, which is critical for handling sensitive business data and meeting compliance requirements developer productivity. Using a type safe language like rust helps us write correct maintainable and bulk free code from the start saving time and money in the long run. To wrap up, I want to leave you with a few takeaways and some concrete next steps. First, the key takeaways. Remember these three points, performance transforms, experience. Safety creates trust, user-centric design matters. So what can you do with this information? I encourage you to start small. Assess your current bottlenecks, identify a high impact use case, and then build a small proof of concept. Measure the results, and you'll see the value for yourself. This brings us to the end of today's presentation. While I'm not going into the details of this infographic, I wanted to include it as here as a bonus content. This has helped me often to determine the right chat type and hope it helps you too. It was a pleasure to cover this exciting topic. If you have any questions or comments, please reach out to me on GitHub or LinkedIn. Have a great rest of your day. Thank you.
...

Shahzeb Akhtar

Director @ UnitedLex

Shahzeb Akhtar's LinkedIn account



Join the community!

Learn for free, join the best tech learning community

Newsletter
$ 0 /mo

Event notifications, weekly newsletter

Access to all content