Lasse Hyldahl Jensen
Diploma Engineer in Software Technology

About Me
I hold a Diploma in Software Technology from Aarhus University (2023). My interest in computers and electronics began early and led me to my first job at Moto Muto when I was 13. There, I gained hands-on experience with the testing and production of PCBs, focusing on soldering and mounting SMD components. At Moto Muto and later at its sister company, LEANTOO, I developed skills in Embedded Linux, web and Android app development, Node.js, and various CI/CD and SRE tools.
During my engineering studies, I secured an internship at Lunar. I joined a squad as a backend developer responsible for core bank functions, including card management, 3D Secure, subscriptions, and marketing automation. Six months after graduating, I had the opportunity to collaborate with a fellow engineer and a product manager on Lunar's generative AI strategy. Together, we developed a series of chatbots that now handle 60% of Lunar's written customer support inquiries.
I am driven by a deep curiosity, focus, and determination, which have helped me master skills like C++ programming and building an embedded Linux OS with Yocto. I am eager to take on new challenges that develop my skills, both within software engineering and in my other pursuits, such as competitive running. I approach every challenge with resilience and a passion for learning, rarely giving up even when the path becomes difficult.
I will be relocating to Copenhagen with my girlfriend, who is pursuing her master's degree at DTU.
Competences
- Languages
- Go, C++, Python, TypeScript
- Frameworks
- Node.js, React & Next.js
- Databases
- PostgreSQL, MongoDB & IBM Db2
- Generative AI
- LLMs & Prompt Engineering
- Platform
- Kubernetes, Docker & Microservices
Experience
- LunarBackend Engineer II
- Backend Engineer I
- Backend Software Engineer
- Backend Student Worker
- Backend Intern
- Moto MutoTechnical Student Assistant
- LEANTOOTechnical Student Assistant
- Moto MutoElectronics production
Education
- Aarhus UniversityDiploma Engineer, Software Technology
- Aarhus High SchoolHTX — Mathematics A, Physics A, IT B, Programming C
Selected Projects
Lunar
Technologies: Large Language Models, Retrieval-Augmented Generation (RAG), Prompt Engineering
In early 2024, two colleagues and I launched Lunar’s AI colony to explore and implement generative AI across the company’s products and business processes. The colony’s mission was to gain hands-on experience with generative AI and demonstrate its potential to drive rapid value for the business.
In our first month, we focused on creating internal tools, starting with an internal chatbot, followed by a customer support chatbot that could access Lunar’s knowledge database. These tools proved highly effective, allowing us to focus on building a customer-facing AI assistant.
In April 2024, we launched the AI assistant. Following its release, we gathered user data and feedback to refine the assistant’s functionality. Once we had established organisational trust in customer-facing AI solutions, we expanded to build a more comprehensive AI support feature.
The AI support system, based on the foundation of the AI assistant, is specifically designed to handle customer inquiries. Integrated with Lunar’s customer support platform, Intercom, via Intercom’s REST API, this solution allows customers to receive instant responses rather than waiting up to three days for replies. Today, the AI support system independently resolves 60% of customer inquiries. For the remaining 40%, it gathers relevant information—such as screenshots of technical issues—before escalating to a human representative.
Together, the AI support system and AI assistant manage over 40,000 customer interactions monthly. All AI solutions are built with Lunar’s tech stack structured as Go-based microservices with Swagger and GraphQL APIs. The RAG implementation uses a PostgreSQL database with the pgvector extension to enhance search and retrieval capabilities.
Technologies: Golang, PostgreSQL, RabbitMQ, Event Sourcing, Swagger, GraphQL, Kubernetes
At Lunar, I develop microservices in Go, focusing on services that expose APIs to Lunar’s app and internal customer management system via Swagger and GraphQL.
During my internship, I primarily worked on implementing an anti-corruption layer (ACL) within a microservice that retrieves data from one of Lunar’s partners. Previously, API calls were directly forwarded to this partner, which introduced latency and limited control over response times. The ACL mitigates these issues and enables event sourcing across Lunar’s microservices, allowing greater flexibility and control over partner data.
As part of Lunar’s DevOps strategy, updates to this microservice were continuously released to production, sometimes multiple times per day. Today, these APIs are called each time one of Lunar’s 950,000 users opens the app.
In my full-time role, I have taken on the responsibility of updating Lunar’s card management system. Originally developed when Lunar received its banking license in 2019, this system carried technical debt due to time constraints for the 2020 launch, as the platform had not yet matured. The update primarily focused on resolving architectural issues that limited scalability for future product launches. Additionally, I implemented an integration with Lunar’s card issuer, Nets, to enable synchronization between the two systems and automate handling of any discrepancies.
Aarhus University
Technologies: Node.js, TypeScript, IBM Db2, Swagger, OpenShift/Kubernetes
For my Bachelor’s project, I collaborated with IBM Denmark and Smukfest to develop the backend for Smukfest’s new mobile app. The backend was designed with a microservice architecture to ensure scalability and maintainability, and it integrates various Content Management Systems (CMS) while enabling push notifications to all devices via Expo.
The app successfully launched for Smukfest 2023, supporting over 50,000 attendees, and was designed with resilience, ensuring continuous functionality despite backend errors.
Moto Muto
Technologies: Yocto, U-Boot & Linux, React, Node.js, Express.js, GitLab CI/CD, Google Test, OpenVPN, C++, Python, Node-RED
The Playback Controller, an Embedded Linux device for intelligent architectural lighting, is configured through a React-based app over Wi-Fi, Ethernet, or mobile network. Users can set up static and dynamic lighting scenarios, triggered by time, sunrise/sunset, SMS, or Moto Muto’s website, with IBM Node-RED logic embedded in the controller.
When connected to the internet, the Playback Controller uploads logs to Moto Muto’s Elastic Stack, where they are analyzed and displayed in a Kibana dashboard. The device is also used in Moto Muto’s “Sun Shelf” installations. I developed all software for the Playback Controller and its supporting infrastructure.
Technologies: C++
The System Controller is Moto Muto’s earlier lighting control system, used in settings like hospitals, nursing homes, and psychiatric facilities where circadian lighting is essential. It communicates with Moto Muto tablets via WebSockets and with Moto Muto Zone Controllers via DMX/RDM protocols.
I contributed to the development of RDM communication between the System Controller and Zone Controllers, allowing the system to display events from Zone Controllers on Moto Muto tablets. I was also responsible for ongoing software maintenance.
Open Source
Technologies: Yocto, U-boot & Linux
Source code: Bitbucket
Technologies: Node.js & Express.js
Source code: GitLab
Technologies: Node.js, Express.js & React
Source code: GitLab