Career Profile
I am a seasoned Fullstack Engineer with strong expertise in co-creation and delivering business value. I have spearheaded the design and development of comprehensive solutions, ranging from AI chatbots to Industrial IoT Dashboards, and Financial and Health Web Applications. My innovative spirit and unwavering curiosity drive me to harness the power of AI alongside my versatile fullstack engineering skills, fostering creative challenge-solving.
I advocate for leveraging collective wisdom and machine intelligence to effectively tackle real-world challenges. I recognise the pivotal role of integrating software, hardware, and AI in advancing human-digital interaction. My paramount objective is to deeply understand my clients’ business needs, tirelessly striving to exceed their expectations with tailor-made solutions. My pursuit of innovation is complemented by my steadfast commitment to continuous learning and growth.
Experiences
Further developed a holistic health platform for Swiss users, integrating insurance with personalised services via partnerships and intelligent technologies to promote preventive health, enable individual management, and deliver sustainable value across life stages.
- Backend Development with Node.js, TypeScript, NestJS, TypeORM, and MSSQL
- Frontend Development with Node.js, TypeScript, and Next.js
- Dependency management with npm
- Optimise high-performance build system and CI tasks for TypeScript codebases, and scale monorepo with Turborepo
- Integration Testing with Jest
- E2E Testing with Cypress
- Collaborative programming with Git, IntelliJ, and Azure Repos
- Continuous integration and deployment (CI/CD) using a Azure Pipelines
- Agile planning and execution of tasks according to Scrum and Behaviour-Driven Development
- Fix race condition bugs by specifying tests and implementing the fix by means of Test-Driven Development
Collected statistical data is published in aggregated form. For this, an internal content management system, as well as a highly available web portal are operated. Data can be viewed and downloaded as a table or as a chart.
- Backend Development with Java 17, Spring Boot, and OracleDB
- Frontend Development with TypeScript and Angular
- Dependency management with Gradle
- Application Deployment in Windows Server
- Agile planning and execution of tasks according to Scrum
- Automate provisioning, configuration management, orchestration, and application deployment with Ansible
- Continuous integration and deployment (CI/CD) using a Jenkins server
- Enterprise search with Apache Solr
- Manage messaging and integration patterns with IBM MQ
- Unit Testing with JUnit, Mockito, and AssertJ
- Integration Testing with Karma, and migration to Jest
- E2E Testing with Cypress
- Collaborative programming with Git, IntelliJ, and GitLab
In the dynamic world of finance, where accuracy and privacy are paramount, FinLogGPT provides secure, localised conversations with financial documents. FinLogGPT is more than just an AI chatbot; it is a trusted assistant that provides high-quality answers to any financial question.
Data protection first and foremost: In finance, data is highly sensitive. FinLogGPT ensures that private data never leaves the IT infrastructure in which it was installed and configured. All operations are performed locally without having to access external APIs. This ensures that all financial information remains 100% secure and private.
- Development of the backend with Python, PyTorch and ChromaDB
- Design and development of an AI chatbot solution using advanced NLP (Natural Language Processing) techniques and machine learning models such as GGUF, GPTQ and GGML
- Testing and evaluation of LLMs according to quality of responses and inference response time
- Documentation and provision of developer guides for third-party providers and end users
- Development of graphical user interfaces (GUIs), based on frameworks such as Streamlit, to simplify interaction with FinLogGPT
- Carrying out user research and usability tests to improve the user experience
- Monitoring system performance and carrying out performance analyses
- Testing, evaluating and optimising chatbot interactions and response times through continuous adjustments and updates
The electronic file (E-AKTE) is the digital image of the paper file. The basis for this is the digitisation of incoming mail and subsequent electronic processing and filing. The E-AKTE is therefore the way to a paperless office and an important building block for modern services. The German employment agency has already been working with E-AKTE for several years. Services are required to maintain and further develop the E-AKTE process from a professional and technical point of view. The services primarily cover the area of development.
- Creating, testing, integrating and documenting complex, performance-critical software and frameworks (server-side)
- Localisation, analysis and elimination of software errors
- Creation of sub-concepts for the further development of software development processes
Development of a Minimal Viable Products (MVP) dashboard, which is used for the dynamic display of data that collects real-time data from sensors (Internet of Things) and industrial machines (Industrial Internet of Things) and is visualised accordingly.
- Development of the backend with Node.js, TypeScript, Sequelize, Socket.IO and PostgreSQL with TimescaleDB extension
- Containerisation of all services with Docker and docker-compose
- Administration of an Ubuntu server system (LTS version 18.04)
- Development of the front-end using Vue.js, Tailwind CSS, Headless UI, TypeScript and Chart.js
- Configuration of a reverse proxy using Traefik Proxy
- Agile planning and execution of tasks according to Scrum and Behaviour-Driven Development
- Conception and vision exchange for the MVP using the Miro Board, Digital Sticky Notes and Feature Voting
- Modelling the architecture of the MVP with Miro-Board
- Refactoring of the backend on Spring Boot, Java 11, WebSockets and MongoDB
- Testing the backend with BDD and TDD as well as testing framework JUnit
- Configuration of a data broker for communication between services using Apache Kafka and Spring Boot
- Configuration of a Data Transformer for the transformation of data coming from the Data Broker using Kafka Streams
- Agile documentation of team decisions using Agile Decision Log and AsciiDoc
Development of a multi-client capable system that is used for the administration and interactive counselling of customers in financial and insurance matters.
- Development of the backend with Node.js and MongoDB
- Development of the front end with React, JSX, HTML5, CSS
- Implementation of the design specifications while guaranteeing multi-client capability and any Cis
- Implementation of interactive dialogues & data manipulation using HTML5
- Design and development towards responsive design and usability on mobile devices
- Connection of external interfaces with insurance and financial APIs
- Agile planning and execution of tasks according to Scrum and Behaviour-Driven Development
Digital technology makes everyday life easier and allows many people to participate in something that would remain unattainable without it. It can help people to live more independently and make their own decisions. You can take part in something without travelling and connect with others, even make new friends online. But not everyone benefits equally from technology. Some people need a customised technical solution for their home that is not available as a ready-made product. The project team wants to empower people to invent technical solutions themselves and have fun designing them together.
- Inclusive Prototyping with young people
- Design and implementation of a new methodology for fast, playful, behaviour-driven prototyping called “Behaviour-Driven Prototyping”
- Participatory Prototyping of technical solution ideas using Behaviour-Driven Prototyping
- Publication of “Inklusive partizipative Technikentwicklung am Beispiel InTiA.”
- Presentation of “Playful Introduction to Technology and Co-Creative Prototyping”
- Configuration of an MQTT server for lightweight communication between IoT end devices on a Raspberry Pi 3+ with a Raspbian operating system
- Translation between Zigbee and MQTT communication protocols using “zigbee2mqtt”
- Visual programming of application logic with Node-RED
- Agile planning and execution of tasks according to Scrum
Further development of the project exchange on the Gummersbach campus as a microservice architecture that brings together students of Cologne University of Applied Sciences, local companies and lecturers at the Cologne University of Applied Sciences.
- Architecture design of the components according to the Microservices Architecture Style
- Illustration as UML component diagram of the communication between the components
- Design and development of several microservices in the backend using Spring Boot and Java 8
- Design and development of the front end using Angular and TypeScript
- Use of Material Design for the look & feel of the web application
- Initial setup and administration of an Ubuntu server system (LTS version 16.04.)
- Containerisation and orchestration of the individual microservices using Docker and docker-compose
- Continuous integration and deployment (CI/CD) using a Jenkins server
- Configuration of a reverse proxy using Apache a2
- Agile working and agile project management through Scrum
Research funding opportunities for research activities and prepare project applications.
- Support in researching funding opportunities for research activities related to the research fields of the Systems Design Group
- Support in the formulation of research proposals and in the organisation of research networks
- Support in the planning and realisation of research publications
- Tutoring in Informatics I & II
Calculate loss ratio versus volume to identify anomalies to see if certain vehicle lines, plants, markets, routes, modes of transport, carriers or dealerships have a significant deviation from the norm.
Use of binary logistic regression and regression tree models to identify anomalies. The anomalies found are displayed in a dashboard.
- Evaluation and selection of suitable tools for data mining analysis of existing production processes
- Evaluation and implementation of suitable algorithms in Python
- Collaborative programming with Git and Visual Studio Code
- Transformation of given data into a suitable model
- Statistical analysis by sorting, filtering, cleaning and linking the Ford data set
An understanding of the trends in software technologies is of great importance, especially when they are being developed at an increasingly rapid pace. In the information age, these developments lead to an explosive growth in new and further developments of programming languages and frameworks, platforms, techniques and tools. It then becomes extremely difficult to see the forest for the trees.
Based on the “Technology Radar by ThoughtWorks” (https://www.thoughtworks.com/radar), the TechRadar at TH Köln analyses and evaluates various innovative technologies. These are pre-selected with the help of an initial brainstorming session and then categorised according to evaluation criteria such as platform independence, unique selling points, development status, etc. in a further process. Both the selection and the evaluation are as objective as possible, but are ultimately based on the subjective assessment of the team behind TechRadar at TH Köln.
- Evaluation and prototypical implementation of selected technologies (methods, tools, languages & frameworks) according to Scrum
- Definition of suitable technical criteria
- Implementation of a TechRadar (in the sense of ThoughtWorks TechRadar)
- Classification of these technologies in the implemented TechRadar TH Köln
The aim of this project was to develop a concept for an intelligent tutor system for the electronic teaching platform ArchiLab at Cologne University of Applied Sciences.
- Design of a traditional architecture of Intelligent Tutoring Systems (ITS)
- Conception of a data model for Learning Outcomes
- Technical modelling of the Student and Tutor Domain
- Evaluation and fostering of student knowledge
- Evaluation and fostering of a student’s affective states
- Technical modelling of the ArchiLab domain
- Calculate probabilities based on Bayesian Networks
- Design of a Bayesian Student Model
- Evaluation of methods in Machine Learning to support the learning of a student
This project involved the design and subsequent development of a recommendation system for the ArchiLab electronic teaching platform.
- Development using Behaviour-Driven Development and Test-Driven Development
- Testing with JUnit, AssertJ, JsonPath and Mockito (spring-boot-starter-test)
- Integration Testing using HTTP requests and @SpringBootTest
- Evaluation of the “Big Data” framework Apache Spark
- Design and development of a recommender system as a microservice with Spring Boot and Apache Spark
- Documentation of the REST API using Spring REST Docs and Asciidoctor
Certifications
Green Software for Practitioner adheres to green software principles, demonstrating
advanced knowledge and skill in applying these principles to software design
and development. This course equips the practitioner with a comprehensive
understanding of green software concepts, a shared language, and standardized terms,
ensuring the practitioner can effectively incorporate sustainable practices into
software applications. This certification bolsters credibility and
confidence as a software practitioner. Organizations employing certified
professionals in green software can confidently leverage their expertise for a
competitive edge and heightened stakeholder and customer satisfaction.
Understanding the programming basics and make your foundations strong. Understanding the difference between the older Python 2 version and the new Python 3 version. Building a solid foundation of Python programming by learning concepts such as variables and data types, a few data structures, conditionals, loops, functions and more. Creating small and basic programs using Python 3. Opening a gateway to dive deep into Python advanced concepts.
Passion Projects
This is a small list of my passion projects.