I am Daniel Clausmeyer

Who I am

Portrait of me, male person, caucasian, 1.8m tall

My name is Daniel Clausmeyer, born in 1994 in Lengerich and currently residing in the picturesque town of Tecklenburg, Germany. As a trained computer science expert in application development and a passionate technology enthusiast, I bring both a solid foundation in programming and a passion for continuous learning to the job.

From the first HTML code I created with a WYSIWYG editor in middle school to complex projects in my professional career, the world of software development has always fascinated me. I enjoy the challenge of learning new technologies and finding creative solutions to complex problems.

What I can do

Software Development

HTML, CSS and JavaScript

  • Page and text structuring based on semantic considerations
  • Forms and input validation
  • Responsive design with Flexbox and Grid
  • Creating and manipulating elements
  • Asynchronous data transmission
  • Object-oriented programming

Vue & React

  • Communication between components using properties, callbacks, contexts, hooks, or other state management methods
  • Complex single- or multi-page web applications (MPA / SPA) with server-side rendering (SSR)
  • Asynchronous loading (lazy loading) of components

Node.js

  • Installation and creation of npm packages
  • Web and API servers using frameworks such as Express and Fastify
  • Cluster of multiple Node.js instances for high availability
  • Real-time communication using sockets

TypeScript

  • Extensive use of data types and interfaces to find errors before the program is executed
  • Flexible and reusable functions using generics
  • Complex functions with function overloading that call different implementations of a function depending on the parameters

PHP

  • Connection to databases such as MySQL or PostgreSQL
  • Processing of HTML form data
  • Reading and writing of data to databases
  • Uploading and saving of files
  • Creation of a user system with a registration form, user profile, etc.

MySQL, PostgreSQL & Redis

  • Efficient databases through normalization, structuring of a database schema
  • Consistent data through isolating operations with transactions
  • Evaluating and aggregating data using GROUP BY or other aggregate functions
  • Redis as session storage or cache for high-performance applications

Webpack, Vite, & Babel

  • Configuration of simple to complex projects with features such as hot module replacement, server-side rendering or static site generation
  • Bundling and optimizing of applications and static assets
  • Transforming of program code using tools such as Babel Traverse

GraphQL, Apollo & Mercurius

  • Using GraphQL to create flexible, efficient APIs
  • Setting up and managing Apollo Server for handling GraphQL requests
  • Using Apollo Client for seamless integration of GraphQL data into client applications
  • Using Fastify and Mercurius for implementing high-performance GraphQL servers

Software Management and Deploy

Git, GitLab & GitHub

  • Working with Git on the command line or using GUIs like Tower
  • Merging or rebasing branches
  • Checking code changes from team members for quality assurance
  • Configuration of CI/CD pipelines using GitHub Actions or GitLab Runner

AWS

  • Setting up and managing database clusters with RDS
  • Deploying highly available Node.js applications with Elastic Beanstalk
  • Managing domains and networks with Route 53 and VPC
  • Storing sessions or caching frequently accessed files in Redis with ElastiCache

Server, Domain & Deploy

  • Installing, configuring, and securing Linux (e.g. Debian or Ubuntu) instances via SSH
  • Setting up web servers such as NGINX or databases such as PostgreSQL
  • Deploying simple web servers to more complex systems with multiple services

Docker & Containers

  • Using Docker Compose to define and manage multi-container applications
  • Creation of Dockerfiles for automating the creation of Docker images
  • Use Docker networks to connect containers and ensure communication between applications
  • Deploying and scaling applications with Kubernetes

Hardware

Assembling, Building & Testing Hardware

  • Selecting and assembling appropriate computer hardware components
  • Installing and configuring operating systems and required software
  • Testing the stability of a computer with burn-in and stress tests

Raspberry Pi, Arduino & Sensors

  • Assembling and installing single-board computers such as the Raspberry Pi or Arduino boards like the Wemos D1
  • Connecting sensors via GPIO pins and querying data using Python or Node.js
  • Transmitting measurement results and remote control over the internet

Design

Photoshop & Sketch

  • Retouching and color correction in Photoshop
  • Designing vector graphics like logos or icons in Sketch
  • Designing website layouts with interactive demos in Sketch

What I did

Born

June 1994

First contact with a computer

November 1994
Me as a baby sitting on my fathers lap in front of a computer

Elementary School

July 2000 -July 2004
When I was 6 years old, I was enrolled at the Friedrich-Adolf-Krummacher School (now the Teuteburger-Wald-Schule) in my hometown of Tecklenburg. In 4th grade, I had my first "computer science" class.

Middle School

March 2004 -July 2011
Roncalli Middle School in Ibbenbüren. In 7th grade, a friend showed me the WYSIWYG HTML editor "Microsoft FrontPage". That's when my passion for software development, particularly web development, began.

Vocational School for Electrical Engineering

September 2011 -February 2012

Federal Voluntary Service

August 2012 -July 2013
At the hospital-owned television station "Kanal-4" of the Klinikum Ibbenbüren, I completed the Federal Voluntary Service. There, I learned, for example, how to plan and structure video projects, film interviews, B-roll, and live recordings, or edit videos and mix the sound.

Temporary Worker in a Hydraulics Workshop

July 2013 -September 2014
In addition to cleaning the workshop, storing goods, delivering to customers, or repairing hydraulic cylinders, I also set up a network and telephone system. For this, I laid network and telephone cables in the salesroom, office, and workshop and brought them together in a central network cabinet.

Training as a Computer Scientist for Application Development

December 2014 -August 2017
At creations media GmbH in Münster, I began my training as a late starter in my dream job. There I learned many important skills, for example how to properly and securely use PHP and SQL, or how to find products for cross-selling with Elasticsearch. But also essential things like efficient use of an IDE such as JetBrains PhpStorm, version management with Git, or how to write error reports in GitLab and perform code reviews were taught to me here. But the most important experiences were teamwork, developing solutions, and planning and coordinating tasks.

Start as a Small Business Owner

November 2018

First project as a self-employed developer

February 2019
Screenshot of the kundk-event.de website
K & K Event is a beautiful event location between Cologne and Bonn. I was commissioned to design and create an internet presence that reflects the elegant ambiance of the location, which is often used for weddings or family celebrations. First i created the design with Sketch and then discussed it with the client. I implemented the project as a Node.js web server that delivers HTML and receives requests from the contact form and forwards them by email. I then set up the website on a server under the domain provided by the client and it has been running to this day.

Customer project company website

March 2020
Screenshot of the website adler-paletten.de
The company Adler-Paletten, a pallet trader from Rheine, has commissioned me to design and develop their company website. For this project as well, I first created a design with Sketch and then, after consultation with the client, developed the website on the same basis as my customer projects before. The website also received a contact form and a language selection with which the language can be chosen between German and English without reloading the website. In addition, a "Dark Mode" was designed that is automatically or manually selected.

parkcheap Booking System

May 2020 -October 2022
Screenshot of the website parkcheap.de

In mid-2020, I was contracted to develop a booking system for parking space rentals. Due to the size of the project, I was hired by ParkCheap IT System GmbH as a software developer and worked on the project until October 2022. The project consists of parkcheap.de, the website for end customers, the parkcheap Dashboard for employees and partners, and the parkcheap API that processes all data.

The website was developed as a Node.js web server. This server retrieves the latest data from the parkcheap API and then generates HTML from a React frontend. Both the website and the dashboard are based on a custom-developed design and component system with over 100 components. In accordance with the DRY principle, all useful functions were built as modules or components to be able to easily test and reuse them.

Screenshot of the parking selection on the parkcheap website

In addition to the interactive search or the customer area, great emphasis was placed on the booking form. This offers a simple interface with all the important information to quickly bring the customer to complete the purchase.

Screenshot of the booking form on the parkcheap website

The parkcheap Dashboard is complex in every aspect and uses almost every component available. With the clear and dynamic interface, which can be used on any device from smartwatch to TV, many important tasks can be performed. Over 10 different areas offer several dynamic forms with input validation. For example, for managing users and their rights, for viewing and editing bookings, for creating locations with availability and prices, for creating coupons and discounts, or for creating invoices as Excel and PDF files.

Screenshot of the parkcheap Dashboard

Everything is processed by the central parkcheap API. A Node.js web server that uses the Fastify framework. Over 250 endpoints with input validation check bookings, send emails, or create new invoices.

Der Quellcode für das parkcheap Projekt wird in einer eigens verwalteten GitLab Instanz gespeichert. Mit GitLab CI/CD werden über 500 Tests ausgeführt, der Code gebaut und gebündelt und auf die AWS Server ausgeliefert. Mit AWS Elastic Beanstalk wird das Projekt zuverlässig und hoch-verfügbar bereitgestellt.

The source code for the parkcheap project is stored in a self-managed GitLab instance. Using GitLab CI/CD, over 500 tests are performed, the code is built and bundled, and delivered to the AWS servers. With AWS Elastic Beanstalk, the project is hosted reliably and with high availability.

Fullstack Software Developer at Incedo Services GmbH

January 2023 -July 2023

At Incedo, I had the great opportunity to work on the "Incedo Lead Generator" project. This comprehensive project consisted of various microservices running on a Kubernetes platform. Each service played a specific role in a complex, well-orchestrated system, ensuring efficient and seamless functionality. Moreover, the frontend was developed in React, a powerful and flexible JavaScript library for building user interfaces.

Another important part of the project was the backend, which used Nest.js and Apollo Server for GraphQL. These technologies allowed us to create an efficient API that met the users' needs and the project's requirements.

During my time at Incedo, I significantly contributed to the development of a new microservice. This service expanded the functionality of the "Incedo Lead Generator" and increased its robustness. I implemented this service with Fastify and Mercurius, two potent technologies for creating fast and efficient servers.

What I particularly enjoyed about working at Incedo was the collaboration within the team. It was an exchange of knowledge and experiences that enriched me both personally and professionally. I was able to share my knowledge and skills with my team members while simultaneously learning from their expertise.