Troels Kaldau
Software Developer with a focus on end-to-end mobile applications
TL;DR
Working across frontend and backend systems in personal, educational, and professional projects, I have gained experience with a diverse range of languages and frameworks. This includes both typed and untyped, compiled and interpreted languages, allowing me to adapt to different development environments. This page provides an overview of my experience with a number these languages and frameworks.
Flutter is a cross-platform framework for building mobile applications, developed by Google and powered by the Dart programming language. It supports Android, iOS, Web, and Desktop—all of which I have developed applications for, both personally and professionally.
I have been working with Flutter since 2020, initially for personal projects and professionally since 2022. My experience includes developing complex UI components, managing application state, writing unit tests, integrating RESTful and WebSocket APIs, configuring Bluetooth devices, processing sensor input, and optimizing performance for mobile platforms.
NestJS is a backend framework for Node.js, built on top of ExpressJS and designed to provide a modular and scalable approach to backend development, leveraging TypeScript for maintainability and reliability.
I have been working with NestJS professionally since 2022, building RESTful, GraphQL, and WebSocket APIs. My work has involved implementing authentication and authorization strategies, including RBAC, ABAC, custom authentication flows, and OAuth. I have also handled database integrations, schema migrations, background job scheduling, and various cloud service configurations.
Android is a mobile operating system developed by Google, designed for smartphones, tablets, and other embedded devices. It is based on a modified Linux kernel and open-source software.
I have been working on Android development since 2018 for personal projects and professionally since 2022, focusing on Android application configuration and optimization. My work has included UI development, API integrations, camera configurations, and preparing applications for release on the Google Play Store.
iOS is Apple’s mobile operating system, powering iPhones and iPads. It is known for its emphasis on performance, security, and integration within the Apple ecosystem.
Since 2022, I have worked professionally with iOS, including developing an MVP for a Unity-based AR integration, debugging a WatchOS application, and configuring Flutter-based iOS applications for App Store deployment.
React is a JavaScript library for building user interfaces, developed by Meta. It is widely used for creating single-page applications and web applications with a component-based architecture.
While my professional frontend experience has primarily been with Flutter, I have explored React by building this portfolio website. This project allowed me to gain experience with basic routing and component-driven development in React.
Go (Golang) is a statically typed, compiled programming language designed at Google. It is known for its efficiency, concurrency support, and ease of deployment.
I have been exploring Go as part of my search for an ideal backend language. In late 2024, I rewrote a RESTful API originally built in Node.js using Go to compare performance, structure, and developer experience between the two. Despite its distinct syntax, I found Go to be intuitive and performant. I am keen to expand my experience with Go in future projects.
Java is a widely used object-oriented programming language known for its portability and extensive use in enterprise applications, Android development, and backend services.
Java was the second programming language I learned in 2017, and I have used it extensively for Android development in personal projects. It was also the primary language for most of my university coursework, where I implemented three major projects, including two games and a desktop application. I have worked with Java for both frontend and backend, implementing vanilla RESTful APIs, as well as using Spring Boot for more complex services.
Python is a high-level, interpreted programming language known for its readability and versatility across domains such as web development, data science, and automation.
Python was the first programming language I learned in 2017. I used it for personal projects focused on data analysis and general computations. Additionally, Python was a core component of multiple university courses. While I generally prefer statically typed languages, I recognize Python’s strengths and its relevance in the industry.
C# is a multi-purpose programming language developed by Microsoft, widely used for desktop applications, web development, and game development with Unity.
I have worked with C# in professional projects, including maintaining a backend system during a gradual migration to NestJS. Additionally, I contributed to a Unity-based AR application, writing C# scripts for various interactive elements. My exposure to C# extends to university coursework as well.