Timo Volkmann

Software Engineer

Keywords
GolangQt/QMLAzureJavaIPCThriftVueProtobufWebsocketsJavascriptDockerOAuth 2.0 / OpenID ConnectOWASPPHPLaravelMySQLNext.jsDrone.ioMongoDBGraphQLCloudflareTerraformC#/.NETOpenAPIOpenShiftPythonAngularNode.jsMariaDBTCPHTMLGPSC/C++PlatformIOESP32MQTTMeteor.jsSpring BootQuasar
node.jsRESTBashTypescriptVue.jsReactnext.jsHTML5CSSSCSSPostgreSQLBadgerVagrantGitCI/CDGithub ActionsTraefiknginxKeycloakWireguardLinuxMinioOracle CloudScrumKanbanUMLBPMNIAMDesign ThinkingAstro.jsRustSoftware ArchitectureTailwind
Project Experience

InCar Entertainment System Application

Mercedes-Benz Tech Innovation GmbH

GolangQt/QMLAzureJavaIPCThrift
Remote / Stuttgart
July 2022 – July 2023

Central task in this project was to build an application which runs as an “InCar App” on the Head Unit of the vehicle. The core was written in Golang and had to process and analyze realtime data from the vehicle and notify the driver about certain events.

  • Design and implement event-based Golang core application
  • Derive usage data with real-time event heuristics
  • Create user interface in QML
  • Integrate vehicle components via DLT, CAN, Thrift and IPC
  • Refactor entire architecture to simplify the system
  • Mentoring for two junior developers
  • Refactorings in cloud component (Java, Azure)
  • Aggregate, analyze and process log and event streams
  • Collaborate on developer tooling to easily access vehicle signals
  • Technical team lead
  • MVP for application content management

Embedded Realtime Web‑Frontend

Swarco Traffic Systems GmbH

VueProtobufWebsocketsJavascript
Remote / Stuttgart
February 2022 – August 2023

Developed and implemented a web‑based user interface for an embedded device with Vue 3.

  • Implementation of a custom protocol on top of websockets and protobuf to enable pub/sub and request/response semantics
  • Designed UI/UX based on a loose design guide
  • Implementation of technical UI components to configure device

Open‐Source Progressive Web Application

PhotoPrism | github.com/photoprism/photoprism

GolangVueDockerOAuth 2.0 / OpenID ConnectOWASP
Remote / Stuttgart
July 2021 – January 2022

Designed and implemented a PoC for OpenID Connect integration and assessed security details of current implementation in PhotoPrism in close cooperation with the maintainers in the context of my final thesis at Heilbronn University of Applied Sciences.

  • Implemented a minimum of viable functionality to enable PhotoPrism to be used by multiple users
  • Implemented conditional rendering in frontend (Vue.js) for user roles/permissions, using PhotoPrisms role-based access control system
  • Evaluated several OpenID Connect libraries
  • Assessed security of current implementation (mainly API and session handling) according to OWASP ASVS
  • Automated unit and integration testing

Consulting and Full‐Stack Development

Style-Boss Schmuck

PHPLaravelVueMySQL
Remote / Stuttgart
September 2021 ‐ today

Extension and maintenance of a custom made CRM/ERP for commission based sales processes, integrated with Shopware 5. Continuous improvement of software, integrations and processes as long-term consulting partner.

  • Implemented new team-based commission system and improved database layout (PHP, Vue.js, MySQL)
  • Fixed several bugs from past maintainers (PHP, Vue.js, MySQL)
  • Continuously improving processes on daily usage experience and support in close cooperation with client

Consulting and Full-Stack Development

Das Quartier | dasquartier.org

Next.jsDockerDrone.ioMongoDBGraphQLCloudflareTerraform
Überlingen / Remote
September 2020 – today

Concept, implementation and hosting of an integrated website with Squidex (headless CMS), next.js frontend and OneDrive integration for a german holiday apartment agency.

  • Headless CMS (Squidex with MongoDB) for administration and API (GraphQL, REST)
  • Implemented frontend with next.js and React
  • OneDrive integration for apartment images with image resizing proxy and Cloudflare CDN caching for fast page loading
  • CI/CD pipeline with Gitea and Drone.io, staging and production environments
  • E-Mail Scraping / Spam Bot Mitigation Strategy
  • Hosting and infrastructure management
  • Fully automated infrastructure and application deployments
  • Architecture illustration: https://app.box.com/s/iwcjqcwy36v8sy8f105upev9f5adeiv2
  • Support and imporvements to date

DevOps / Full-Stack (Internship)

Bosch Engineering GmbH

GolangC#/.NETOpenAPIOpenShiftDockerPython
Abstatt, Germany
September 2020 – February 2021
  • Bitbucket Migration: Scripts with Python, collecting information from repository owners about project state and analyzing inter-repo dependencies to clean up data before migrating
  • Tool Catalog: Maintained xml-based RestAPI on internal tool aggregation platform and outlined a draft for an simplified Swagger-API (C#, .NET)
  • Tool Catalog: Managed tasks and supervised developer team in india
  • Evaluating OpenShift for internal applications, replacing docker-compose
  • Evaluating Go for internal application development, including POC web-toolbox with Hexagonal Architecture (Go)

Travopti – travel optimizer application

Heilbronn University of Applied Sciences

AngularNode.jsMariaDB
Heilbronn, Germany
February 2020 – August 2020

Proof-of-Concept web application, optimized for mobile, to search and filter travel destinations according to personal preferences (weather, landscape profile, cultural parameters, cost of living and housing).


gyrogpsc – realtime GPS dashboard

Heilbronn University of Applied Sciences

GolangTCPHTMLJavascriptWebsocketsGPS
Heilbronn, Germany
October 2020 – February 2021

Realtime location data streaming application with pragmatic dashboard for live comparison and recording of GPS data with Ublox NEO-M8U as reference datasource (via serial interface). Second source (i.e. phone) can be fed into program via TCP (WiFi).

  • Go backend with stream-based data processing
  • Serial and plain TCP interface to feed data into processing pipeline
  • Web-based UI made with plain HTML and JS
  • Leveraged WebSockets for realtime push updates from server, capable of client multiplexing
  • Record and Replay functionality via embedded persistent K/V-Store
  • Implemented relevant UBLOX binary protocol parser in Go
  • Source code: https://git.timovolkmann.de/tvolkmann/gyrogpsc
  • Web UI samples: https://app.box.com/s/wdqca127ssaph49t7lx1yuhcxl79llig

Smart Garden – automated home gardening

Heilbronn University of Applied Sciences

C/C++PlatformIOESP32MQTTMeteor.js
Heilbronn, Germany
April 2020 – August 2020

Home gardening system with ESP32 microcontroller, using sensors to track different plant environment parameter and automatic irrigation and light control, including backend and web‐based dashboard.


BUGA'19 Geocaching web application

Heilbronn University of Applied Sciences

JavaSpring BootMariaDBVueQuasar
Heilbronn, Germany
March 2019 – August 2019

Team cooperation project with Heilbronn University of Applied Sciences and Bundesgartenschau Heilbronn (BUGA 2019). Web application to discover areas and points of interest while playing geochaching.


Education

B.Sc. in Software Engineering (Systems Engineering)

Heilbronn University of Applied Sciences

Heilbronn, Germany
September 2017 – March 2022

Training media designer / advanced technical college entrance qualification

Eder GmbH / Johannes-Gutenberg-Schule Stuttgart

Stuttgart, Germany
September 2011 – July 2014

Previous Activities

Media services (Layout, image retouching, photography for print and digital)

Self-Employed

Creation of business and advertising materials, image retouching, design and creation of web presences.

Heilbronn, Germany
January 2014 – December 2020

Internship structural building physics

EGS‐plan GmbH

Sound insulation, room acoustics, thermal insulation, measurements.

Stuttgart, Germany
March 2017 – June 2017

2D Artist (digital/print media design)

eder GmbH

Creation, final artwork and adaptation of artwork, creative retouching and post production.

Stuttgart / Munich, Germany
September 2011 – July 2016