I’m a PhD student at the University of British Columbia, and I’m interested in programming language design in an applied context. I consider domain-specific problems from a linguistic viewpoint, and try to help people deal with a given issue easier by helping them express themselves more effectively.

At the moment, I’m primarily working in the TLA+ ecosystem, where I am one of the main developers of the PGo project. The project’s goal is to take a simplified, more pragmatic approach to verified distributed systems development by providing lighter-weight model checking-based verification alongside a simplified imperative-like modeling language and a flexible API for interoperation between verified and unverified code.

This site, like a CV but more colourful, combines information about my projects and other pursuits for those interested. Check out the links at the top for more information.


  • PhD, University of British Columbia, 2020-current. Supervised by Ivan Beschastnikh.
  • MMath, University of Waterloo, 2018-2020. Supervised by Ondřej Lhoták.
  • BSc w/Co-op, University of British Columbia, 2013-2018.