I develop technology supporting games and web applications for a living.


2DKit, New York - Software Engineer, CTO

Sep 2013 - Present

Co-founded 2DKit as a successful games middleware and services company. Architected a commercial-quality game engine, asset processing tools, and cloud services backend. Focused on performance, robustness, and scalability. Wore many hats in interacting directly with customers and planning around future trends. Hundreds of games built with 2DKit exist today as web games, native apps, messenger games, and playable ads.

Code Nation, New York - Teacher, Mentor

Jan 2015 - June 2015

Taught introductory HTML, CSS, and JavaScript to students in under-funded New York public high schools. Planned lessons and led classes in design and computer science topics, as well as classes focused on industry-standard tools and practices. Connected graduates with internships in software development.

Sega Networks, San Francisco - Software Engineer

Mar 2010 - Sep 2013

Developed a variety of multiplayer web and mobile titles, including Doctor Who: Worlds in Time, Corpse Craft, Whirled, and several unreleased projects. Pitched game design concepts and iterated quickly with small agile teams to go from prototype to launch. Contributed to a strong tech culture and maintained long-lasting codebases.

Zynga, San Francisco - Gameplay Programmer

Jun 2009 - Sep 2009

Developed Roller Coaster Kingdom, a first-generation Facebook game played by millions of users. Utilized analytics-driven methodologies to inform new features and report bugs in production. Adapted to challenges faced when using bleeding-edge technologies and platforms.

Open Source

Here is an incomplete list of projects that I’ve been involved with:


Haxe is a cross-platform programming language. I was an early contributor to the JavaScript compiler target, implementing the SourceMap specification, performance improvements, and automatically generated external bindings to web browser APIs. 2DKit uses Haxe extensively.


Flambe is a cross-platform 2D game engine used in many commercial titles.


WASM-4 is a virtual game console for building retro games with WebAssembly.


pjs is a command-line tool for filtering and transforming text, similar to awk. You provide it powerful one-line snippets written in vanilla JavaScript. It supports many input formats, including plain text, CSV, JSON, HTML, and XML.


Popcord is a Chrome extension for watching videos with other people remotely. Built to scratch a personal itch of keeping in touch with my own friends and family during the 2020 quarantine.

Curitiba Maps

Maps of services in Curitiba, Brazil. The municipal government provides large databases of geographical data but there was a need for an easy way that everyday citizens could view it on a map. I wrote some tools that converts the database into a format that could be uploaded to Google Maps.

13 Squares

Entry to the Ludum Dare game jam, a 48 hour hackathon where the theme was “minimalism”. The renderer draws only 13 sprites, so the more you level up the less you can see the world around you.


Twitter bot that steps through Wikipedia using Brownian motion to highlight interesting relationships between topics.


Twitter bot that tweets subtitled clips of dialogue from the Star Wars prequel trilogy.


One of the first open source HTML5 game engines, from way back in 2010.


An ancient mobile RPG from 2006 (pre-iPhone).


Honours Bachelor of Science, Computer Science

2005 - 2009

Brock University, St. Catharines, Ontario, Canada. Specialization in Software Engineering and Computer Graphics.


Programming Languages

  • Fullstack modern JavaScript, web and NodeJS
  • WebAssembly, Java, Typescript, Haxe
  • HTML5, CSS
  • C, C++, Objective-C
  • Bash, Python, Regex

Tools and Libraries

  • Web development: Webpack, Angular, Vanilla DOM, Svelte, React
  • Android and iOS development and SDKs
  • Popular game middleware: Box2D, Spine, SDL
  • OpenGL, WebGL, GLSL
  • Amazon EC2, S3, CloudFront, Lambda
  • Facebook API, Stripe
  • SSH, Cron, SystemD, Nginx
  • MongoDB, MySQL, PostgreSQL
  • Git, Mercurial, SVN
  • Jira, Trello, Pivotal Tracker, Basecamp


  • Cross-platform development, testing, debugging, and profiling
  • Understanding requirements by engaging with end users
  • Mobile-first, responsive design
  • Automated testing and continuous integration
  • Agile development and scrum


HTML5 Game Development Insights

Apress Media, 2014

HTML5 Game Development Insights is a from-the-trenches collection of tips, hacks, and advice straight from professional game developers. My contribution explored techniques in exporting game animations from Adobe Animate (formerly Adobe Flash) to HTML5.


Aside from being a software developer, I am an avid aerial circus artist, rock climber, and aspiring harmonica musician. I enjoy travelling, and after escaping Silicon Valley travelled Brazil for 2+ years as a wandering software craftsman. I speak fluent English and Portuguese, and touch-type Dvorak.

I care deeply about technology and understanding its systemic impacts on individuals and society. I enjoy reading science fiction and exploring the latest tech advancements in my fields.