About me

A portrait of myself (Armin Kunkel)

Hello, my name is Armin Kunkel. I develop digital products with a focus on sustainable value. As an author, I write hands-on technical books and run a blog on IT topics. My experience ranges from academic research and open-source projects to applied web development.

My journey began with studies in IT security, which I later switched to computer science.

At the beginning of my (then) bachelor’s degree at Karlsruhe University of Applied Sciences, I developed an interest in web development and started learning HTML, CSS, JavaScript & PHP. Building a guestbook allowed me to explore these technologies by studying documentation (MDN, PHP docs), tutorials, books and videos.

On my path to becoming a web developer, I learned the differences between HTML 4 and HTML 5, the evolution from CSS 2 to CSS 3, the client–server architecture, and the differences between static (without JS) and dynamic (with JS) websites. I especially appreciated the benefits of single-page applications (SPA). After laying the groundwork, I expanded my knowledge to SSR (server-side rendering), SSG (static-site generation), build tools like Webpack and Vite, CSS frameworks (W3CSS, Bootstrap), CSS preprocessors (SASS, LESS, Stylus, SCSS), utility-first approaches (e.g., TailwindCSS) and the use of CSS variables.

I explored the history and development of JavaScript—from LiveScript (Netscape Navigator) to the ECMAScript standard. I also gained experience with AJAX for server requests, form validation, Web APIs and TypeScript. During my internship I worked with ExtJS and later with Angular (v5–v7). With Vue.js (v2 and v3) I found a powerful framework for building ES/TS-based applications and components. With Nuxt.js (v2 and v3) I added an additional abstraction layer for production apps. Common libraries like JQuery and Lodash were also part of my journey. I am also familiar with topics such as responsive design, SEO, usability and user experience.

For data storage and management, I worked with server technologies like PHP, Java Servlets and web servers (e.g., Express in NodeJS, Apache httpd, Nginx). I learned about WebSockets and SSE (Server-Sent Events) for bidirectional communication, GraphQL for single-endpoint communication, and how to design REST APIs and HATEOAS (Hypermedia as the Engine of Application State). With template engines such as Thymeleaf (Java), JSP (Java) and Pug (NodeJS) I explored another way to generate HTML pages dynamically on the server. My backend focus was on the Spring Boot framework (Spring MVC, Spring Security, Spring Data JPA, Spring Validation) in the Java ecosystem. During my internship I learned the 3-layer architecture (controller, service and DAO layers) with Spring Boot.

For serialization of data in HTTP requests I deepened my knowledge of XML (DTD, XSD, XSLT) and JSON and familiarized myself with description languages such as ASN1 and Protocol Buffers. Through OWASP and the BSI I studied web application security and practiced it hands-on (including with Kali Linux). Finally, I learned various programming languages including Python, Haskell, Elixir, Assembler, Kotlin, Go, C & C++, VHDL and even Brainfuck.

Armin Kunkel

Tech blog & shop

Computer scientist

  • Studies: IT security (started)
  • Switched to computer science
  • Karlsruhe University of Applied Sciences
  • Internship: ExtJS, Spring Boot (3-layer architecture)

Web development

  • Getting started (guestbook, HTML, CSS, JS, PHP)
  • Learning sources: MDN, PHP docs, tutorials, books, videos
  • HTML & CSS
  • HTML 4 vs HTML 5
  • CSS 2 vs CSS 3
  • CSS preprocessors: SASS, LESS, Stylus, SCSS
  • Frameworks: Bootstrap, W3CSS
  • TailwindCSS (utility-first)
  • CSS variables
  • JavaScript
  • History: LiveScript → ECMAScript
  • AJAX, form validation, Web APIs
  • jQuery, Lodash
  • TypeScript
  • SPA vs static sites
  • SSR & SSG

Frameworks

  • Angular (v5–v7)
  • Vue (v2, v3)
  • Nuxt (v2, v3)

Build tools

  • Webpack
  • Vite

Backend

  • Languages: PHP, Java Servlets, NodeJS
  • Web servers: Apache, Nginx, Express

Communication

  • REST, HATEOAS, GraphQL
  • WebSockets, SSE

Template engines

  • Thymeleaf, JSP, Pug

Spring Boot

Spring MVC · Spring Security · Spring Data JPA · Spring Validation

Data formats

  • JSON, XML (DTD, XSD, XSLT)
  • ASN.1, Protocol Buffers

Security

OWASP, BSI · Kali Linux (BackTrack)

Hosted in 🇩🇪 by

manitu
© 2026  |  Armin Kunkel  |  Author, Software Developer, Lecturer, Computer Scientist  |  Karlsruhe