Thijs Dreef

I build digital stuff

I am a software engineer with a passion for performance, graphics and software design. In my free time I work on my personal game engine using C.

Featured work

no image

Red Panda

Red Panda is a high-performance web based medical image viewer. I was responsible for most of the functionality, including but not limited to rendering, saving, loading and an extensible architecture. The project boasts a 100% code coverage with tests written using jest. The WebGL library created for this project can be found on NPM under the name cawgl.

Heineken go places 2

Heineken Go Places 2 is a campaign website to attract new employees to Heineken. My responsibility was making sure the WebGL content Matched design and ran at the target frames per second. The biggest challenge was rendering the portal in the door frame, since z-fighting artifacts showed up on lower end devices. This was mitigated by first rendering the door, then stencilling and rendering the portal and finally rendering the rest of the scene.

WebAssembly Support Ada

During my internship at AdaCore I investigated what is required to support WebAssembly as a compilation target. Efforts made for other languages such as Rust (wasm-bindgen) and C++/C (emscripten) rely on a form of code instrumentation which generates supporting code and a JavaScript equivalent. The proposed plan uses the component model proposal to generate Ada and JavaScript code from an intermediate format called WIT. The proposed plan can be viewed in more detail on AdaCore's blog

Where I have worked

  • AdaCore

    2023 - 2023 Software Engineering intern

    The goal of my internship was to propose a plan to implement WebAssembly support for the Ada language. During this internship I designed a pipeline to compile Ada programs to WebAssembly, developed tools to generate supporting JavaScript code and modified runtime sources to get a WebAssembly version of the Ada bareboard runtime.

  • Quantib

    2021 - 2023 Jr Software Engineer

    Worked on a web based high performance medical image viewer. My responsibilities were developing and maintaining an application which correctly renders and modifies medical images. Wrote tests for all functionality to keep test coverage above the mandatory 95%.

  • Superhero CheeseCake

    2018 - 2022 Jr Creative Developer

    Worked on large scale WebGL campaign websites for large brands like: Heineken, Addidas, Wajer, Brooks and more. I was responsible for creating high performance WebGL visualisations to enrich the website but not slow down the experience for the user, regardless of device.

  • Dutch 5

    2018 - 2019 Game Development Intern

    Dutch 5 was a game studio developing an online moba mobile game. As an intern I was responsible for finding performance critical code and optimizing it. I touched upon topics related to but not limited to: rendering, netcode, assets and mesh creation

Interested to know more?

Find me on social media or check my CV

  • linkedIn
  • Github
  • CV