< Back to Sunjay.ca Download PDF Version

Sunjay Varma





Proven, exceptional skills refined by over 9 years of experience writing high quality software

Publications & Notable Articles

Intelligent and Affectively Aligned Evaluation of Online Health Information for Older Adults - sunjay.ca/aaai2017 Julie M Robillard, Areej Alhothali, Sunjay Varma and Jesse Hoey AAAI Workshop on Health Intelligence, San Francisco, CA, 2017

Rust Code Coverage Guide - sunjay.ca/rust-code-coverage The definitive guide to setting up code coverage in a Rust language project

Work Experience

Artificial Intelligence Research Assistant - chil.uwaterloo.ca Computational Health Informatics Lab, Waterloo, ON, Sep 2016 - present

  • Applied Natural Language Processing (NLP) and Machine Learning (ML) techniques to rate the quality of online health articles
  • Rapidly learned NLP and ML topics necessary to produce results–without any prior background knowledge
  • Authored tools to aid in data collection, analysis, and machine learning

Software Developer - konradgroup.com Konrad Group, Toronto, ON, Jan - Dec 2016

  • Led the planning and implementation of the entire frontend and backend for a project from start to finish
  • Cleanly implemented the entire frontend of the project by combining Redux and React
  • Learned ASP.NET MVC in a matter of days and effectively used it to create several backend APIs in C#

Lead Software Architect & Developer - janetingley.com/anyware/ anyWare (University of Waterloo), Waterloo, ON, May - Aug 2015

  • Led a small team in the design and development of the entire software architecture for orchestrating several robotic sculptures
  • Reliably synchronized multiple software-based and robotic clients in real-time with high volumes of input

Intermediate Web Software Developer Co-op - smartamp.com SMART Technologies, Calgary, AB, Sep - Dec 2014

  • Performed at or above the level of an intermediate developer, mentoring interns and authoring features
  • Personally commended by CTO of company at the end of work term for outstanding performance

Web Software Developer Co-op - smartamp.com SMART Technologies, Calgary, AB, Jan - Apr 2014

Full-stack Developer Part-time - clinicsense.com Clinic Sense, Toronto, ON, Jul 2013 - Oct 2014

Page 2

Sunjay Varma

Personal Software Projects & Open Source Work

Brain Programming Language Compiler - github.com/brain-lang/brain A compiler written in Rust that takes a strongly-typed, Rust-like syntax and compiles it into "brainfuck" Brainfuck is a programming language with only 8 very primitive instructions. Compiling to brainfuck is not easy because you have to very creatively compose its limited instruction set in order to represent complex programs.

  • Designs a compiler with the following stages: parsing, static checking and IR (Intermediate Representation) generation, static memory layout and instruction generation, optimization, and code generation
  • Invents novel algorithms for simulating complex constructs like nested branching, loop control flow, and boolean operators using very few instructions and maintaining assumptions about memory management
  • Effectively organizes project using GitHub issues, labels, milestones and projects (see GitHub repo issues)

Fast Brainfuck Interpreter - github.com/brain-lang/brainfuck A fast, optimizing interpreter for the brainfuck programming language written in Rust

  • Authored a complete, in-depth specification of the brainfuck programming language (see GitHub repo)
  • Optimized the performance of brainfuck programs by batching instructions while the program is loaded
  • Debug mode shows the memory of the running program for each instruction in a convenient format

Rhino - Image Editor - github.com/RhinoEditor/rhino Image editor for Linux with Rust image processing daemon and Electron/React interface

  • Designed and implemented non-blocking architecture with asynchronous image processing
  • Front-end uses Electron and React to create a native desktop application experience
  • Project is fully organized into GitHub issues and milestones and is quickly approaching MVP

Snake Game AI - sunjay.ca/snake/ Artificial intelligence that plays the game Snake quite well (most of the time)

  • Designed a multistage, real-time algorithm to effectively play the game Snake at 15 FPS
  • Intelligently uses assumptions to refine knowledge representation and produce even better results
  • Organizes and documents design process with diagrams and thorough explanations (see GitHub issues)

Reversi Game Implementation & AI - github.com/sunjay/reversi Functional programming implementation of the game Reversi using Haskell with AI to play the game against you

  • Modelled rules and state of the game Reversi using functional paradigms in Haskell
  • Applied the negamax artificial intelligence algorithm to create a program capable of defeating humans

Fast Sudoku Solver - github.com/sunjay/sudoku Very fast Sudoku solving algorithm implemented in C

  • Optimized algorithm by reducing memory allocation and applying heuristics before naive search methods
  • Of the 21,885 puzzles tested, 87.2% were completed in less than 1 second, 81.9% were completed in less than half of a second, and 71.1% were completed in less than 0.1 seconds

More projects as well as my writings on various technical topics can be found on my website: sunjay.ca

Last Updated: May 25, 2017