Projects
See also my GitHub profile
⚒ This page does not list all my projects, check out my Github profile for a more complete list.
💼 Company
Friendly Captcha
Human-friendly anti-bot protection for websitesFriendly Captcha is a cybersecurity company I co-founded that protects websites from spam and abuse, without giving up the user's privacy or making them click cars and fire hydrants.
⚙️ Friendly Captcha GmbH | website
💻 Applications and Libraries
Tygo
Convert Go structs to TS types (without reflection)Tygo is a tool for generating Typescript typings from Golang source files that just works.
It preserves comments, understands constants and also supports non-struct type expressions. It's perfect for generating equivalent types for a Golang REST API to be used in your front-end codebase.
⚙️ Go, Go compiler | Github Repository
Magic Login
E-mail verification and passwordless login SaaSMagic Login is a transactional e-mail service with a simple API that has built-in support for authentication through e-mail.
This project received an undeserved cease-and-desist and I shut it down. I had better things to focus on..
⚙️ Typescript, Cloudflare Workers, AWS, lit-html | website | documentation
Starboard
In-browser literal notebooksJupyter Notebooks for the web.
⚙️ Typescript, Go, Postgres, lit-html, Github Actions | website | open source
Sunder
A minimalist, unopinionated framework for Cloudflare WorkersA web framework for ServiceWorker environments, similar to Koa.
⚙️ Typescript, Cloudflare Workers, Jest | website | documentation
Friendly Captcha
Proof of work based CAPTCHAs that are accessible, user and privacy friendlyA proof of work based alternative to ReCAPTCHA/hCAPTCHA that has a better tradeoff for users. Now incorporated as a German company (GmbH).
⚙️ Assemblyscript (WebAssembly), Typescript, Cloudflare Workers, Go, Clickhouse, Github Actions | website
Zarr.js
Zarr that runs in the browser, Node and Deno.Zarr is a python library for chunked large multi-dimensional datasets. This library is a library that allows one to interact with these large datasets in the browser.
This was a particulary large undertaking because the browser (javascript) does not ship with any good support for multidimensional arrays or utilities like slicing, that all had to be implemented from scratch.
⚙️ Typescript, Github Actions | github repository | documentation homepage
nn-transfer
Neural Network weight transfer - Pytorch <> KerasUtilities 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.
⚙️ Pytorch, Keras, travic-ci | project page | example usage
🏆 Hackathons
LI Hackathon (September 2017)
Legal Search Innovation Hackathon - Winning team - €5000 prizeArmed 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.
⚙️ Vue.js, vis.js, Flask, Neo4j, Solr, Pandas | Project page | Hackathon homepage (Dutch)
AIVD Hackathon (March 2017)
Dutch Intelligence Service Hackathon - 2nd placeThe 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.
⚙️ Keras, Vue.js, Flask, Ansible, AWS EC2 | Project page | Video
🏅 Kaggle Competitions
National Data Science Bowl 2017
Kaggle Machine Learning competition - Top Kernel Winner - $5000 prizeWrote 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.
⚙️ NumPy, DICOM.js, scipy, matplotlib, pandas | Kernel link | Competition homepage
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.
⚙️ NumPy, Theano, Lasagne | Competition homepage
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.
⚙️ NumPy, Theano, Lasagne | Project homepage | Competition homepage
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.
⚙️ NumPy, Theano, Lasagne, Scikit-learn, nolearn | Project homepage | Competition homepage