Ludwig is a passionate developer with a strong focus on Android app development. With a burning interest for development, he keeps himself up to date with the latest technologies and processes. For Ludwig it is always important to deliver a product of the highest quality, that is why he prefers to participate in the entire process from planning and design to implementation and testing. Ludwig values open transparent communication, which leads to effective dialogue and quick productive decisions. Colleagues see him as a very humble and empathic person, in combination with an inexhaustible positivity and energy that easily influence others in the team.
In stressed situations, Ludwig always keeps himself calm and he gladly takes a leading role. Ludwig easily sees what needs to be prioritized in a product, and where the energy is to be put, which means that Ludwig always deliver on time.
- AutomileLead Android Developer
From small startup without revenue to one of the leading companies in the world in driving journals and fleet management, with a value over one billion SEK, in less than 3 years. During his journey with Automile, Ludwig strongly contributed by being solely responsible for Automile's android app, one of the core products offered by Automile.
Started as Android Developer and 3 years later Lead Android Developer, Ludwig was responsible for development, system architecture, UX design, planning, testing and shipping of Automile’s Android app. While working on app development Ludwig used MVP (Model View Presenter) architecture, in combination with Dependency Injection (DI) via Dagger 2, which made the various parts easy to test via JUnit, Mockito, and Espresso. For network communication Googles Volley library was used, which communicated with REST APIs. For the internal database an ORM (Object Relational Mapping) library was used, called Rush ORM. The app was initially developed in Java, and in 2018 subsequent parts of it were developed in Kotlin.
Even though Ludwig was working on the app all by himself during first years of development, task management was structured from the start with the use of Kanban in Jira. For source code management Git was used with strict Git Flow branching. Later when more android developers joined, Ludwig became responsible for planning and distributing the workload. He also made sure that all code commits were of high quality and that code reviews were conducted.
Originally, the app consisted of 5 parts. Trips, car status, places, geofences, and notifications. During travel, the user could see all the journeys performed by the various cars. The route was drawn on a map and there was information about distance, consumption, trip duration and more. If a driver was checked in on the car during the trip, you could also see who drove the car.
Under advanced information, one could see the cars engine revolution over time, and also see the speed it kept in relation to the speed limit.
Places, another part of the app, where the user could mark a location on the map and name it. Trips that start or end there would automatically be categorized to private, service or other.
With Geofences, the user could plot a geofence on a map, and associate this geofence with different types of notifications. Automile currently has over 40 different notifications. It can be anything from speed violations, accidents, idle time and whatnot.
The last part was the car's status, where you could see the vehicles current position and current health, and other valuable information. .
Over time, more features were added, and currently the app supports the above, but also a built-in chat, jobs and quotes system, expense report system, live map where you see all cars moving, inspections, driver profiles, general settings and more.
Another important part of the app was mobile tracking. As a standard for the car tracking, a box was used that was plugged into the OBD port of the car, which then sent all data to a server. The data was then exposed to the app via a REST API. For mobile tracking, it was instead the app that would know how the car was moving through the various sensors in the mobile phone it was installed on. The app would automatically detect when the car started driving and when it stopped without the GPS being activated. This to save battery. For that, the various accelerometer sensors were used in the phone.
During this time Ludwig Also developed an Android Wear app, where the user could scroll through all his trips on his watch, and categorize them. With the war app a watch face was also included, with a special Automile Theme.
- WidespaceAndroid developer
Ludwig was part of the team of skilled developers and architects who built an ad SDK for Android. Half of the team was outsourced to Bangladesh, and half of the team was located at Regeringsgatan in Stockholm. During the work process SCRUM was used with two week sprints. Code quality and testing were of high importance.
Widespace SDK was implemented in apps and could show different custom ads. The ads had access to different parts of the phones functionality and could use the camera, save appointments into calendar, manage video playback, voice recognition, and many more.
Ludwig was also involved in the development of a brand new ad format, where the commercial in a radio station stream, was replaced with a targeted ad. So if the user was listening to a radio station, and an ad would come up, the radio stream would be muted, and a targeted ad from Widespace would play instead. The targeted ad could be both sound and video. The radio stream "time shifted" depending on the targeted ads length so that the ad would never be interrupted and the user never misses any part of the radio show. Ludwig also developed a software with a radio stream to test the functionality of the radio SDK.
Both the SDKs were developed in Java with Eclipse IDE. Later during the year Android Studio 1.0 was released, and the project was moved to Android Studio instead. Git with Gitflow was used for source code management.
- CGIIT-Consultant and Android Developer
Ludwig worked for Swedavia to improve the app which contained information about all Swedavia airports. The app showed info about departures and arrivals as well as relevant information for the airport. You could book a cab directly from the app, and also see what different offers various stores currently had.
The app was developed in Java and tested with unit tests. It had no particular architecture since previous developers had no experience with Android. Hence, much of the code did not follow the standard conventions of Android code syntax and architecture. In addition to new features development a lot of time was spent to fix the quality and structure of the app.
- DeportivoFreelance Android developer
Deportivo was commissioned by Cancerfonden to design and develop an app that would be used in their october campaign. They had outsourced the app development to a team in Siberia. One week before the deadline, the team in Siberia flagged that they would not be able to deliver on time. Since the time of delivery was very important, Deportivo contacted Ludwig. They knew from the last project that Ludwig works quickly and efficiently, always with high quality. Ludwig got a good offer in exchange for getting ready for the app in less than 7 days. Working more than 18 hours a day, Ludwig delivered, and both Deportivo and the customer Cancerfonden was very happy.
The app contained 30 exercises with different instructions. For some of them, it was required to start a pedometer in the app, and for some others, a timer was started in the app. The pedometer was custom built and used the accelerometers of the phone, and for the timer a service was used with a thread ticking once per second.
Due to the time pressures, no time was spent on architecture and continuous integration. The focus of the testing was on the advanced methods and the most critical features. The app also used Facebook login, and called on Facebook apis to retrieve user information and share to Facebook.. The app was developed in Java in Eclipse IDE.
- Mobile InteractionFreelance Android developer
Ludwig was commissioned by Mobile Interaction to develop the "Chefsflow" app, which had in turn been commissioned by Deportivo, the design agency of the Leaders.
The app, which was more a campaign game than a utility ticket, worked in a way that the user filled in today's data, and filled in with a number one hundred to symbolize how well it went. Using a chart, the user was able to see how much the same data went on over time, and lay on average over eighty, but had "flow".
- Utbildning & CoFreelance Android Developer
Self-help for personal well-being. Conducted exercises and guided meditations via audio plays. Also worked to listen to the app in the background. In total, Ludwig built 12 different self-help programs, with different approaches to meditation and proper breathing.
- Stockholms UniversityTutor in Java
During the third year of the university, Ludwig worked extra as a supervisor in Java. With his good grades and profound understanding of object-oriented programming, combined with brilliant educational skills, Ludwig could help students in the course of the year with various Java related issues.
The students registered in an electronic queue system, and noted where they were at the university. Ludwig then helped them in turn.