Hello, I'm

Guido Zuidhof

Research Engineer at Blue Vision Labs

About me

I'm someone who loves building stuff, originally from The Netherlands

Some things I like:

  • AI & Machine Learning.
  • Game Development, my best game jam entry ended up 6th overall in Ludum Dare!
  • Open source. I aim to write most of my projects with an open license, others may use and or learn from it one day.
  • The latest tech. I’m an avid hackernews reader.
  • Airsoft. Occasionally I join a skirm to practice my 360-noscopes in real life.

Skills-wise I have been described as the most versatile developer they have ever seen. I have experience writing code for any part of the stack.

Projects

See also my GitHub profile

⚒ Under construction.. I am slowly adding projects.

My game development project page is pretty much complete, have a look at that too!

nn-transfer

Neural Network weight transfer - Pytorch <> Keras

Utilities for converting PyTorch models to Keras and the other way around. More specifically, it allows you to copy the weights from a PyTorch model to an identical model in Keras and vice-versa.

I created this tool out of my own need, and since open sourcing it it has been starred over a hundred times on GitHub.
It is unique in the way it works from other tools, as it does not infer the model structure itself. That is where every other tool has the most difficulty (and often fails). In this tool instead you define the same model architecture yourself.

🏆 Hackathons

LI Hackathon (September 2017)

Legal Search Innovation Hackathon - Winning team - €5000 prize

Armed with access to a large corpus of hundreds of thousands of legal documents, the Legal Intelligence API, and the goal to innovate in search of legal documents we created Leegle (Legal Google).

Leegle is an in-browser graph based legal document explorer, where documents are linked by common court cases and law references. The tool seamlessly integrated with the existing Legal Intelligence search engine using a simple Chrome browser plugin.

AIVD Hackathon (March 2017)

Dutch Intelligence Service Hackathon - 2nd place

The objective of this 24 hour hackathon was to create anything that could be of value to the Dutch intelligence service. With this vague problem statement, we talked to various stakeholders, and identified that a big part of preventing extremism is identifying those that may develop extremist views.

We created TerrorFlow, a tool for automatically detecting individuals that are at risk of turning to extremism. This was done by identifying various objects in images and videos (e.g. burning flags, AK-47s) posted publicly on Instagram and Youtube, the results of which could be viewed in an in-browser tool.

🏅 Kaggle Competitions

National Data Science Bowl 2017

Kaggle Machine Learning competition - Top Kernel Winner - $5000 prize

Wrote the most popular Kaggle kernel in the biggest yearly machine learning competi- tion. This kernel described how to preprocess and segment lungs in CT images. To this day it is still the most upvoted kernel of any Kaggle competition with prize money.

Ultrasound Nerve Segmentation (August 2016)

Kaggle Machine Learning competition - 9th place (top 1%)

Tackled the problem of identifying nerve structures in ultrasound images using a hybrid approach using classical computer vision features (SIFT) and an adapted version of the fully convolutional network Unet architecture.

Diabetic Retinopathy Detection (July 2016)

Kaggle Machine Learning competition - 11th place (top 2%)

Applied a convolutional neural network approach to automatically diagnose diabetic retinopathy, which is the leading cause of blindness in the US, from retina pictures. Trained on GPUs on a large cluster, achieving better than human expert performance.

National Data Science Bowl 2016

Kaggle Machine Learning competition - 68th place (top 7%)

Developed a deep learning method for automatically classifying plankton from low res- olution black and white images. Also helped develop a method for unsupervised feature extraction based on kNN clusters of image patches, which performed worse.

Games

As a hobby, I like to work on video games. I think they provide a lot of unique challenges development wise. Video games are the intersection of many types of art, and actually seeing somebody have fun experiencing what you created is the most magical thing.

"Juice it or lose it" is my motto in game development (and anything that a user interacts with really). Juice can be described as anything that doesn't change the functionality of a program, but just makes it feel better.

🕹️ Ludum Dare

Ludum Dare is the biggest online gamejam that is held three times per year. In the solo competition, you are given a theme and 48 hours to create everything from scratch. That includes art, music and sound effects!

Asphyxia

Ludum Dare 28 - You Only Get One
Asphyxia title image

My first Ludum Dare entry, featuring a rather sad story and three mini-games. I was able to complete a much bigger game than I anticipated, and it was received pretty well. This game is what got me hooked on gamejams during university.

[...] the opening is a tad slow. But the atmosphere and mood is perfect! Love the gameplay and design choice.
TurnA December 16, 2013
Very touching and beautiful. I completed the first two levels in a dream-like determination that I knew Sam would feel. But I failed the third level without realizing the crucial thing that might've kept him alive. A sad game. Stunning end sequence.
Shaun LeBron December 16, 2013

Sub Bomber

Ludum Dare 29 - Beneath the surface
Sub Bomber title image

I only had four hours for this gamejam, but managed to create a flappy bird-esque game. You are a submarine and can only steer and propel yourself underwater, so once you are out of the water all you can do is pray as you aim for the hole in the obstacle.

I really like the game. It's kinda like flappy birds - takes time to learn but once you do, you're hooked.
Sim00n April 28, 2014
I got to 9. I can die a happy man.
iambored2006 May 2, 2014

Hello World

Ludum Dare 30 - Connected Worlds
Hello World title image

My most succesful gamejam game, and the one I am most proud of. It ended up 5th in theme, and 6th overall (out of more than 2500 entries)! Also it got featured on the Unity blog :D

In this game you place satellites in orbit and make a message transmission mesh to ensure cat videos can be sent throughout the solar system without package loss. Calm music, a parallax space scene, and an embedded police tracker (LAPD) make for an amazing atmosphere.

This is one of the most inventive ideas that I've seen thus far. Great job.
BradSmallPlanet August 29, 2014
Man, this is why there's a "mood" category. So flippin' cool!
mrspeaker September 14, 2014

Flying Blind

Ludum Dare 31 - Entire Game On One Screen
Flying Blind title image

Technically challenging game to implement (Phaser.js was not really made for this kind of game), but ended up being too hard. It was bang on with the theme though, reaching 6th place in theme. First game I applied a vector graphics style (made in Inkscape).

Really polished product, and very cool concept, beautifully executed. =) Pacing is a bit off.
Zi December 10, 2014
Great take on the theme. Gets a bit difficult a bit fast though.
mrspeaker September 14, 2014

Glide Bomb

Ludum Dare 32 - An Unconventional Weapon
Glide Bomb title image

Line rider for bombs. It was alright.

Really really impressive game! The mechanic turned out to be a lot more fun than I initially expected and the puzzles were perfectly matched as I learned. Look like a great deal of polish went into this, really makes it shine.

It also feels really awesome when you draw a perfect ramp and the sled just flies right off into the target :D
S0lll0s May 9, 2015

🥓 Bacon Game Jam (BGJ)

Bacon Game Jam is the continuation of the Reddit Game Jam, organised by the biggest subreddit for game development.

Shadow Infiltration

Bacon Game Jam 5 - Lights Out
Shadow Infiltration title image

The product of the first gamejam I ever participated in. In this game you avoid lights to infiltrate a base; it's a sneaking game, I was very proud to have finished it, and people seemed to like it :).

This was actually one of the more purely fun games I played during the jam. Good job. I'd love to see you flesh it out.
Brett Story June, 2013
Clever puzzles and a very good learn-as-you-go introduction to the game
Sigve Sebastian Farstad June, 2013

Kyoob, Adventure of the Unicorncone Crown

Bacon Game Jam 6 - Lights Out
Kyoob title image

A very ambitious project for a 48 hour competition, a top down game in which you can unlock file spells to solve puzzles and beat enemies. I partnered up with an internet stranger who created some 3D assets. The review by Broxxar below sums up my learnings perfectly.

An impressive amount of content and mechanics for a 48 hour jam, though some areas of the game felt like the needed a bit of polish. I think you could create a stronger jam game if you put quality before quantity. Great work on this though; a lengthy and complete feeling game is impressive in just 48 hours.
Broxxar October, 2013

🔗 Chain Jam

Chain Jam was a one-off gamejam in which all participants created a local multiplayer game that would then be played in succession with the other participants' games. Creating something similar to Mario Party mini-games.

Climb, Freeze.

Chain Jam
Climb Freeze title image

A simple local multiplayer game that tries to do one thing with a lot of juice and polish. Players jump and then freeze themselves, creating a stepping stone for the next life. The goal is to get as high as possible. Created in around 5 hours.

🎮 Other games

Slaim

Game Development As A Hobby - Invited Talk
Climb Freeze title image

A one versus one slime soccer game, created to demonstrate the effectiveness of juice. Joris and I decided that it was worth creating a game in which we could introduce juice incrementally during our talk on game development as a hobby, Unity, and juice.

The final product is a surprisingly fun game that I have seen friends play for hours (really). It has over the top screenshake, disco colour background, hitmarkers, music that keeps going faster, slow-mo goals, and more juice.

Contact

Say hello at me@guido.io.
I'm based in London by the way.