DevOps Data Engineer
Mark Visser
If you ask me what I like to do in tech, my answer is immediately ‘DevOps’.
Read moreShow less
In the past I have done a lot of development in the web and data worlds, but I have always taken on the operations side as well. What I love about the (containerized) DevOps approach is that you can look for the technology that best fits the solution and then actually implement it, even if that takes you a bit off the beaten path of the typical IT professional. I like to work that way: I enjoy learning new technologies and I am not afraid of them. Finding a sustainable, maintainable solution to a (technical) problem is one of the most rewarding challenges I know.
Current projects
Cantorite
Two games, one universe.
Currently working on
Cantorite: Harrowfall
Three factions strip-mine a crystal that is secretly someone else’s harvest — and the louder you mine, the sooner the reapers come.
Cantorite: Harrowfall is a real-time strategy game set on the frontier worlds where cantorite is mined. Build your base, run your economy, produce an army and fight your rivals for the richest crystal fields. But the crystal isn’t yours. Every drill and every battle sends out a sound that something old can hear. Push your mining too hard and the Harrow arrive: silent, gold and unstoppable, here to collect their harvest.
You can play it free in the browser on desktop, tablet or phone, and install it for offline play. The whole build is documented in the devlog, from the first frame to today.
Built with TypeScript Three.js Vite
Under the hood · Harrowfall
Harrowfall runs entirely in your browser on desktop, tablet and phone, and installs as an app for offline play. You can play a friend by room code or in ranked 1v1, sign in with just your e-mail, and send feedback straight from the game. Every account, save and match record is stored in the EU.
- Engine TypeScript and three.js, with a deterministic simulation that runs identically in every browser, so matches and replays stay in sync.
- Multiplayer Lockstep online play through Cloudflare Workers and Durable Objects, with one room per match, desync detection, and a ranked 1v1 queue with ratings and seasons.
- Accounts E-mail one-time-code sign-in, with a synced profile on Cloudflare D1. No addresses, codes or IPs are logged.
- Triage Players send in-game feedback with screenshots and an optional save, anonymously if they want. It lands in a private triage inbox, where reports become GitHub issues.
- EU only The databases (D1), storage (R2) and match servers (Durable Objects) are all pinned to the EU jurisdiction.
- i18n A typed translation system with English as the source. Dutch is in preview, and there’s a proofreading site for translators.
- Voice lines A voice per speaker with faction character, recorded with an open-source speech model and checked by a QA pass.
- Offline An installable PWA with the app cached for offline play. There’s also an iOS build.
- Delivery GitHub Actions takes every change through develop, then acceptance, then production, with each server deployed on its own.




Also in development
Cantorite: Hush Money
A browser action RPG in the Cantorite universe. Every crystal you cut is a note the Harrow can hear.
Cantorite: Hush Money is a fast action RPG set in the same universe as Harrowfall. You’re a freelancer in the Vesper Reach, taking contracts from the Directorate, the Umbra and the Hush. You get dropped into mines, ruins and drill sites, and you have to fight your way to the payout and get back out. Every loud action raises your Resonance. That means better loot, but it also wakes the Harrow: first scouts, then cracks in the world, then elites, and finally the hunter.
Each run is a twelve-minute negotiation with your own greed. Your build is a loadout, not a class: you mix armour, weapons and skills from five disciplines. It runs in the browser and on your phone, in short sessions. And one rule above all: when the screen turns gold, run.
Under the hood · Hush Money
Hush Money is built to run at 60 fps on a mid-range phone browser as well as on desktop. Co-op, e-mail accounts and weekly leaderboards are in development, and all player data stays in the EU.
- Engine TypeScript and three.js, using WebGPU with a WebGL2 fallback. Moving the game rules into a fixed-tick Web Worker is planned.
- Co-op A relay on Cloudflare Durable Objects in the EU, with one per lobby and the host’s game as the authority. Raids for 1–4 players are planned.
- Accounts E-mail one-time-code sign-in, with a synced profile on EU D1.
- Leaderboards Weekly contracts and seasons, with signed run results so scores can’t be faked.
- Assets Models and textures stream from EU-only R2 storage. All sound is synthesised in code, with no sample packs.
- i18n from day one No hard-coded player text, and a CI check enforces it. English and Dutch.
- Tools An in-house room builder for level rooms, and AI-assisted concept art made through Cloudflare Workers AI. Nothing is generated at runtime.
- Delivery GitHub Actions type-checks, builds and deploys every change to a preview site, with production on a separate branch.






