A picture of me


Hi, I’m Jannis, welcome to my site. I’m a software engineer and computer scientist. A recurring theme for me are SAT and SMT solvers, but while working on my projects, I’m always learning and trying new things from a wide range of areas, be it group theory, hardware design, or anything else that might be useful or just sounds interesting to me.

On my projects page and blog you can see some of the things I’ve been working on.

If you’re interested in anything on this site and have comments or want to know more, feel free to contact me. You can reach me on Mastodon or by email.

I’m also available part-time for contract-based projects with a focus on researching, designing, implementing and optimizing algorithms and data-structures ranging from versatile components like SAT/SMT solvers to tailor-made solutions for solving specific problems. If you’re considering a project, feel free to reach out to discuss whether my skills and expertise are a good fit for the problem you’re trying to solve. For EDA projects, in particular formal verification, I’m working with YosysHQ.

Recent Blog Posts

Proving 50-Year-Old Sorting Networks Optimal: Part 2

Posted on September 1st 2021

Partial sorting networks and recursive minimal size computation.

Proving 50-Year-Old Sorting Networks Optimal: Part 1

Posted on May 4th 2021

Introducing the problem of minimal size sorting networks and summarizing the previous state of the art.

The Assembly Language of Satisfiability

Posted on October 3rd 2020

How SAT solvers relate to higher level tools like SMT solvers.

More blog posts


Proving the optimal size of 11 and 12 input sorting networks

Research project to find the optimal size of sorting networks with 11 and 12 inputs.


Rust utilities for writing fast parsers, and parsers for some formats including DIMACS CNF.


A CDCL based SAT solver written in Rust.

More projects