Jonas De Vuyst

Basic Info

Open as PDF
LanguagesDutch, English, basic French
Job DescriptionsiOS Developer, Functional Programmer, Full Stack Developer, Researcher


programming Swift, Objective-C, Haskell, Idris, Clojure, Java, JavaScript, C++
DSL regular expressions, SQL, HTML, CSS,
dev-ops Bash, Git, Docker, RabbitMQ

Work Experience

Digital Asset. Daml, TypeScript.
In July 2021 I joined Digital Asset as a Customer Experience Engineer. This involed using the Daml smart contract programming language to develop distributed ledger-based applications.
Network Guard. Swift and Objective-C.
In the second half of 2021 I worked at Network Guard for five months as a senior software engineer with a focus on Apple platforms.
Standard Chartered. Haskell.
In February 2018 I joined Standard Chartered. My initial work entailed helping a Digital Transformation project get ready for a pilot release. In my role as a full stack engineer I worked with Jenkins, Docker, OpenShift, AngularJS, Java, and Scala.

In September 2018 I joined a team of quantitative developers. My work in this team mostly consists of rapid application development in (a dialect of) the Haskell programming language. I worked on several GUI and backend applications.

Grab. Swift and Objective-C.
In July 2016 I joined Grab, South East Asia’s leading ride-hailing platform that went on to beat Uber early 2018. My responsibilities included:
  • Implement new features for the iOS passenger app. For example, I worked on the initial implementation of GrabRewards.
  • Continued efforts on ensuring the stability of the main booking flow.
  • Work with other teams to realize new features.
  • Diagnose and fix bugs.
  • Interview and report on potential hires for the mobile engineering team.
MyDoc. Objective-C, Swift, Clojure.
  • Addressed severe stability and reliability issues in the existing two MyDoc apps (one app for patients and one app for medical professionals).
  • Found and helped solve major bugs in the MyDoc REST API and messaging server.
  • Refactored the two MyDoc apps into a leaner, unified codebase.
  • Took the initiative to properly support iPad.
  • Took many initiatives to improve the user experience of the apps and overall platform.
  • Introduced Swift in the MyDoc apps.
  • Used Clojure to write a crucial server-side component:
    • Started as a Backend for Frontend (BFF) component to alleviate limitations of the existing messaging server (from a mobile perspective).
    • Based on the notion that messaging is a special case of synchronization.
    • Was deployed to run on equal footing with the existing XMPP server via a RabbitMQ bridge.
    • We eventually got rid of our XMPP stack entirely.
  • Wrote documentation on the MyDoc platform and helped shape the hiring process.
  • Played a crucial role in realizing the MyDoc 3.0 apps with an innovative conversational user interface.
  • Developed chat bots in Clojure using finite state machines.

Other Programming Experience

Library for automatically proving equalities in commutative monoids. As a simple example, this can be used to generate a proof that, for all natural numbers l and c and r, l + (c + r) = (c + l) + (0 + r).
Implementation of several data structures in the dependently-typed functional programming language Idris. A distinguishing feature of my implementation is that key features of the data structures are formally verified.
Acted as reviewer of a book on the Swift programming languages for PACKT Publishing.
Ruminant. Swift.
Implementation of persistent vectors from the Clojure programming language in Swift.
Hype Alarm. Objective-C.
Alarm clock for iPhone. Plays popular songs from the Hype Machine at dawn.
Comprehend. Clojure.
Clojure in-memory database modeled on sets, not tables. Comprehend supports pattern matching, forward matching, rewriting, and transactional storage.
OS X app that uses the webcam to detect if the user is in front of the screen, and prevents the display from sleeping if that’s the case.
Termcat. Clojure.
Markup language for scientific writing. Termcat code compiles to HTML and MathML. From a technical point of view, Termcat is also a programming language.
Theorem prover for public announcement logic. This application is based on my doctoral research.
KeyBar. Objective-C.
iPhone/iPad app for easy typing of mathematical and technical symbols.
Website for creating public diaries, created in collaboration with friends.
Computer science projects. Scheme and C++.
As part of my university education I wrote several programs. The larger projects included a cellular automata simulator (Scheme), a stack-based virtual computer (Scheme), and an order picking system (C++).
High school graduation project. Java/Swing.
For the final project in high school I created a multi-threaded Java application with a graphical user interface. The application was a front-end for an SQL database and also featured an XML backend.
Hobby projects. Visual Basic and Java.
My personal projects in high school included a Connect Four game (VB), a code editor (VB), and a Java library that wrapped the IRC protocol.


jan. 2014
Doctor of Philosophy. Vrije Universiteit Brussel.
Graduated with greatest distinction.
Master’s degree in philosophy and ethics. Vrije Universiteit Brussel.
Graduated with greatest distinction.
Bachelor’s degree in philosophy and ethics. Vrije Universiteit Brussel.
Graduated with great distinction.
High school degree in computer studies. KTA Lindenlei, Ghent, Belgium.

Other Schooling

Fall 2013
The Recurse Center. New York.
The Recurse Center (formerly known as ‘Hacker School’) is a ‘writer’s retreat’ for programmers.
Various summer and winter schools.
Three editions of the European School for Language, Logic, and Information in Bordeaux (2009), Copenhagen (2010), and Ljubljana (2011).
One edition of the Indian School for Logic and its Applications in Hyderabad (2010).
One edition of the East-Asian School on Logic, Language and Computation in Chongqing (2012).
The 4th World Congress and School on Universal Logic in Rio de Janeiro (2013).
One edition of the Artificial General Intelligence (AGI) Summer School in Beijing (2013).
Semester at the Department of Philosophy, Tsinghua University. Beijing.
From February through August 2012 I stayed at Tsinghua University as a guest PhD student under supervision of Fenrong Liu.
Semester at the ILLC. Amsterdam.
From February to June 2010 I was at the Universiteit van Amsterdam as a guest PhD student under supervision of Benedikt Löwe.
Partially completed computer science program. Brussels.
I completed courses in computer science at the Vrije Universiteit Brussel equivalent to three semesters.


Prize awarded for my master’s thesis.


Talks at Conferences and Meetups

Nov. 2018 Making of Rekenaar, An Idris Solver for Commutative Monoids. Singapore Haskell Meetup, Singapore.
Explanation of the why and how I created the Rekenaar library.
Oct. 2017 A Functional Data Structures Primer. Singapore Clojure Meetup, Singapore.
An introduction to the implementation of functional data structures.
June 2013 Dynamic Tableaux for Public Announcement Logic. LICS 2013, New Orleans.
Previously, I gave preliminary versions of this talk at a 2012 Reasoning Club in Brussels and at the 2013 UNILOG conference in Rio de Janeiro.
Oct. 2011 Minimal Revision and Classical Kripke Models: First Results. LORI-III, Guangzhou, China.
I also presented this research at TbiLLC2011 in Kutaisi, Georgia and in the student session of PLS8 in Ioannina, Greece.
Jan. 2010 Epistemic Logic with Contexts. ISLA 2010 (student session), Hyderabad, India.
Nov. 2006 Autonomie en zingeving bij posthumanen. 28e Vlaams–Nederlandse Filosofiedag, Brussels.

Teaching Experience

Apr. 2012
Intensive modal logic course.
Taught 3 × 3 hour sessions on model theory at Tsinghua University, Beijing.
Introductory course to logic.
About 6 × 2 hour sessions every year, plus tutoring.

Events Organized

Jan. 2014
Feb. 2011
PhDs in Logic III. Brussels.
Organized in collaboration with Lorenz Demey.


Travel grant for an extended stay abroad. Flemish Fund for Scientific Research.
Grant for supporting a six month stay in Beijing.
Grants for organizing a conference and for publishing proceedings.
Lorenz Demey and I got grants from the Royal Academy of Belgium, the National Center for Logic Research, and the VUB Doctoral School of Human Science for organizing PhDs in Logic III.
2 × 2 year grant for preparing a doctoral dissertation under supervision of Jean Paul Van Bendegem and Patrick Allo.
Doctoral grant. Vrije Universiteit Brussel research council.
One year doctoral grant. Supervised by Jean Paul Van Bendegem.