The Escape Box: an escape room in a box

Over the course of 2018, I co-developed the escape box – essentially, an escape room-like game, but in a box. Like an escape room, the box builds on a compelling plot and requires 3-4 players to cooperate in order to reach an end goal – the revealing of the final secret held …

Building interactive infographics right in the browser

For Dialogic, I developed an interactive environment for the creation of web-based infographics and other interactive experiences right in the browser. The environment is used in the Dialogic Platform for providing rich dashboard experiences to customers. The component is also used on diasli.de, which is a service where you can …

Catena: SQL on a blockchain

A blockchain allows different entities share a database without having to entrust that database to a single entity. Catena provides an SQL database on top of a blockchain, providing all the benefits of blockchains (resiliency, distributed operation, openness) while providing a familiar interface to its users.

Warp: Convert and analyze large data sets at light speed

Warp allows you to convert and analyze large data sets and light speed. Warp is designed for Mac OS X and available from the Mac App Store. Product website: Warp.one Download: Warp on the Mac App Store Blog posts:  Warp: a query-by-example analysis tool for big data, Warp 2.0: Link big …

DHToT: storing IoT sensor data in the BitTorrent peer-to-peer network

The Internet of Things promises to connect virtually all devices and make sensor data ubiquitously available. Instead of storing all this data in a central location, you can use a peer-to-peer network to store sensor data. Using a peer-to-peer network has several advantages. First of all, the infrastructure is ‘free’ (although in …

Rethink.swift – A Swift driver for RethinkDB

RethinkDB is the first open-source, scalable JSON database built from the ground up for the realtime web. Rethink.swift is a work-in-progress framework that allows interfacing with RethinkDB from the Swift programming language. Connecting and querying RethinkDB from Swift is straightforward and is frictionless because of all the syntactic sugar Swift provides …

Parity: a numbers game

Parity is a numbers puzzle game. The goal is to get all tiles in the 3×3 board to the same number. Move the cursor to a neighbouring tile to increase it’s number by 1. Sounds easy, right? Get the game at the App Store: Parity Game Parity is a co-production of me and …

Chartly: build data visualisations in the browsers using puzzle pieces

Chartly.js is a web component that allows end users to create (‘program’) a chart using the Blockly visual programming environment. Charts are ‘compiled’ to a JSON specification for the chart. At run time, Chartly interprets the JSON and draws the chart using d3.js. Chartly is open-source under the MIT license. …

RemindLED: an unforgetting device from Harry Potter

“A Remembrall is a tennis ball-sized glass ball that contains smoke that turns red when its owner has forgotten something. It turns clear once whatever was forgotten is remembered.” — Harry Potter Wikia Seems useful, right? Put one of those on the kitchen table, and you’ll never ever forget to put out …

Prevent form spam using in-browser proof-of-work

Automated bots abuse comment forms to put advertisements on websites. Traditional CAPTCHAs prevent spam by exploiting the fact that computers cannot solve a particular problem easily, and that humans that can solve them are scarce/expensive/slow (but available in the regular use case). Proof of work, by contrast, exploits the fact that …