Background
Profile

Troels Kaldau

Software Developer with a focus on end-to-end mobile applications

Experience
Projects
Skills
Header Image

Live Data & State Management

  • MongoDB Change Streams
  • WebSockets
  • gRPC
  • Riverpod
  • TL;DR

    Experienced in managing real-time data and application state, ensuring seamless synchronization across systems and devices. Proficient in technologies like MongoDB Change Streams, WebSockets, and state management libraries such as Riverpod.

    Riverpod

    Riverpod is a state management solution for Flutter that provides a predictable and scalable way to manage application state.

    I have relied heavily on Riverpod and its provider-based approach to reactive state management in Flutter. Its transformative and reactive approach allowed me to build complex data networks, reducing boilerplate code and isolating concerns. However, using the provider-based approach efficiently requires careful consideration of the data network being built to avoid performance implications and side effects.

    MongoDB Change Streams

    MongoDB Change Streams allow applications to react to real-time data updates in a MongoDB database.

    I have integrated MongoDB Change Streams into multiple projects, enabling efficient real-time updates for applications. By leveraging this technology, I’ve implemented live dashboards and event-driven architectures where changes in the database trigger automatic updates across clients. It was also a core feature of my bachelor’s thesis, where I carried out a performance analysis to improve the efficiency of the solution system.

    WebSockets

    WebSockets provide a persistent, low-latency connection for real-time communication between clients and servers.

    Most of my frontend projects have relied on WebSockets for real-time data, using an operations model to ensure that the data is always up to date. I have also experimented with delta-based updates to reduce the amount of data sent over the network.

    gRPC

    gRPC is a high-performance remote procedure call (RPC) framework designed for low-latency, real-time applications.

    I have experimented with gRPC to test both performance and implementation differences between it and REST. For my bachelor's thesis, I implemented a gRPC service to test the performance of the system in comparison to REST calls.