Herman Bergwerf

Welcome! This webpage contains information about my expertise and professional activity. I am specialized in solving difficult logical problems and implementing the solutions in software. Visual communication plays a key role in many of my projects, and I enjoy designing beautiful and innovative interfaces. I like brainstorming together with a team to find the path towards a good product, and to make technical descisions that are future-proof. I have an academic background in biophysics, pure mathematics, and theoretical computer science.

Technical skills

I have affinity with challenges across the software stack; both high-level and low-level. I like designing things, thinking about the interactions, and making sure everything is implemented in a modular and efficient way.

UI/UX Design

Interactive Graphics

Accelerated Graphics

Machine Learning

Formal Verification

One of my academic specializations is formal verification using interactive theorem provers. I primarily use the Coq Proof Assistant, using which I have developed various formal theories. Developing formal proofs is very challenging, and requires careful thinking about even the smallest logical inferences. Below are some formalization projects I did in my spare time.

Theory Repository
Kleene Algebras and shortest paths @bergwerf/star_semiring
Functional permutation factorization @bergwerf/permutation_factors
Arithmetic decidability via automata @bergwerf/linear_integer_arithmetic
The Cantor-Bendixon theorem @bergwerf/settheory
Brouwer’s Continuity Principle @bergwerf/intuitionism

2022 Machine Learning for Image Processing
Client Omoda
Technologies Python MediaPipe
Goal Build machine learning based tools for automatic image classification to help automate the photography pipeline.
2017-2021 High-quality Chemical Diagrams
Client CreativeQuantum
Technologies Dart HTML5 Canvas
Goal Design a new and highly configurable web-based chemical diagram editor from scratch using the Dart language.
2017 Molecule Sketching for Education
Client Learnbeat
Technologies JavaScript HTML5 Canvas
Goal Integrate MolView’s 2D molecule sketcher in a learning platform used by over 500 schools in the Netherlands.
2016 Custom Mailing Scheduler
Client Profects
Technologies Golang PostgreSQL Docker
Goal Develop a stable and efficient program to send thousands of daily emails parameterized by an SQL database.
2012-2015 MolView.org
Technologies JavaScript PHP WebGL CSS
Goal Enable free online molecule editing and viewing using open cheminformatics databases and modern web technologies.

Academic background

In 2015 I started the Nanobiology Bachelor program at TU Delft. I was excited to learn about the molecular machinery and laws of physics that make life possible. While this fascination remains with me, I decided to move away from the empirical sciences to study mathematics and logic.

I moved to Nijmegen where they offer a strongly theoretical computer science track, including courses on Category Theory, Type Theory, Computability Theory, and Automated Reasoning. My interest in mathematics increased, and I followed courses about Axiomatic Set Theory, Model Theory, and Graph Theory.

MSc. Mathematical Foundations of Computer Science

Research Internship
Title Circular lists in Iris ∗ deduction rules of ▷
Supervisor dr. Robbert Krebbers
Group Software Science
Full Text doi: 10.5281/zenodo.6340500

BSc. Nanobiology

Title Nerve fiber tracing in bright-field images of human skin using deep learning
Supervisor dr. Erik Meijering
Group Biomedical Imaging Group Rotterdam
Full Text TU Delft Repository
IEEE Article doi: 10.1109/ISBI.2019.8759504
Topic Interactive Environments at the Industrial Design faculty
Description During one full semeter we were introduced to Interaction Design for physical environments, and challenged to go through an iterative designing and prototyping procedure in small teams.

Contact details

I am always interested in new challenges and opportunities. For questions and business inquiries please send an email to post@hbergwerf.nl.

Company Bergwerf Labs
Address Heemraadstraat 6, 6525 TH, Nijmegen
KVK-number 73224480
VAT-number NL002378274B15