Download PDF

Projects

Indie Game

July 2023Current

Interactive Story Game

  • Breaks down narrative elements into re-mixable components and mechanics.
  • Builds a unique story, as the player makes choices.
  • Uses modular text rendering (EJS) to re-use as much content as possible.
  • Employs a custom-built scripting language (YAMLScript, working name) to define and execute game events and actions.
  • Relies on "Paperback" described below.

Mobile App

May 2023Current

Counselling Support App

  • Simulated chat/messaging environment. "Have a talk with yourself" to make peace with things, or explore different aspects of you.
  • An immersive experience with visual themes, realistic "reading" delays, and "typing" animations.
  • Psychological prompts to help mentally transition between perspectives.
  • Set up custom "perspectives" to represent aspects of one's self. Talk with:
    • Your inner child.
    • Your harsh inner critic.
    • A past version of yourself.
  • May also be viable for business or personal decision making:
    • Discuss pros/cons of a decision, as a natural dialog.
    • Review the discussion record, at a later date.
  • Relies on "Paperback" described below.
    • This app does not require 2D graphics rendering, but still benefits from Paperback's code structure.

App Framework

Feb 2023Current

"Paperback" Web and Mobile App Framework

  • Uses Ionic, Vue, Pinia, PixiJS, and proprietary code for rapid web and mobile app development.
  • Deploys to web, iOS, and Android from a single codebase.
  • Supports complex and performant 2D graphics, fully integrated with Vue front-end components and Pinia data stores.
  • Proprietary code follows MVC best practices.
  • Strict data flow built into the system:
    • Explicit app state management.
    • Graceful handling of unexpected events.
  • "Paperback" is currently a working title for this project, and may change.

Past Experience

GoBolt Logistics

Feb 2022Feb 2023

Senior Software Developer

  • Consulted with both technical and non-technical stakeholders, recommending, and implementing, tools to increase productivity and reduce risk.
    • System-wide feature flags for smooth deployment.
    • Live data editing, to solve problems 'on-the-fly', without a deploy.
    • Addressing technical debt, safely, to minimize downtime.
  • Transitioned "delivery service area" code for nation-wide system,  from map polygons to postal code sets.
    • No major problems during system-wide deployment. 
    • Minor problems were solved within minutes, with live data editing tools.
  • Expanded "delivery availability" to allow for custom days of service, as well as client-specific days of service, internationally.
    • Designed and architected the feature, with staff collaboration.
    • Ticketed and fully scoped the project in JIRA.
    • Led and mentored a team of developers.
    • Provided non-technical updates to stakeholders.

Career Break

Jul 2021Feb 2022

Personal Development and Recovery

  • Settled the affairs of a deceased family member, as estate executor.
  • Focused on mental health and physical wellness, including counselling, after experiencing a major loss.
  • Experimented with a SPA project using Vue, Vuex, PixiJS, and Ruby on Rails.

Traction Guest

Nov 2019Jun 2021

Ruby on Rails Back-end Developer

  • Led development for the Appointments feature: architecture, JIRA ticket writing, and updates for non-technical stakeholders.
  • Built the Audit Logs feature for enterprise-level API accessibility.
  • Designed and developed key components of ZeroTouch feature.
  • During COVID19, pivoted features with aggressive timelines.

Dr. Bill

Aug 2016Sept 2019

Ruby on Rails Software Engineer

  • Responsible for full-stack feature development, from concept to completion.
  • Involved in code review and developing style guides.
  • Wrote feature tickets with designer and stakeholder input.
  • Provided detailed user stories to clarify feature requirements, and to act as acceptance criteria during review.
  • Point of contact for both technical and non-technical team members: designers, marketing experts, and billing agents.

Red Stamp Agency

May 2016Jul 2016

Lead Ruby on Rails Developer

  • Responsible for full-stack feature development for the "Chime" project. 
  • Provided feature consultation for ongoing development, based on non-developer (stakeholder) requests and feedback. 
  • Recommended and wrote a full test suite for the app.

Lighthouse Labs

Feb 2016May 2016

Mentor / Teaching Assistant (TA)

  • Provided one-on-one support to students of the 8-week immersive web development bootcamp.
  • Tutored students in the basics of Ruby, Rails, databases, CSS, and JavaScript.
  • Reviewed student code and gave constructive feedback.
  • Some feedback from Lighthouse Labs students:

"Chris was patient and thorough in his explanation. Chris helped me with some logic that I was struggling with, and pointed out some conventions I should follow while there. Great help, great support. Clarified syntax error clearly. Has always been patient and thorough in explanations."

"I really found Chris the TA super helpful and friendly. He was really patient and explained things very clearly."

"Although all the TAs are fantastic, Chris is particularly AWESOME. I'm sure you guys already know that, but I just think that fact should be explicitly acknowledged. He is super knowledgeable and patient, and he doesn't just show us the answer. He forces us to think and nudges us in the right direction so we can feel confident that we figured out the answer on our own."

Blacktusk Media

Aug 2015Feb 2016

Web Developer

  • Built an asynchronous course builder, for custom content creation.
  • Designed and built an internal tool for creating smartphone simulations.
  • Managed git repositories alongside JIRA project management tool (sprint management).

iData Research

Nov 2012Apr 2015

Senior Editor and Publishing Executive

  • Edited research reports for grammar, punctuation, spelling, and consistency.
  • Tracked anywhere from 8 to 12 market research projects simultaneously.
  • Led workshops to teach writing and formatting best practices.
  • Organized archive of more than 500 reports to be significantly more efficient.
  • Implemented report version control systems.
  • Spearheaded and supervised office-wide software upgrade.
  • Designed new report templates.
  • Provided guidance for a team of researchers.

True North Management

May 2012Nov 2012

Lead Copywriter

  • Created content for 6 e-commerce websites, including content for blogs and email newsletters.
  • Ensured writing quality and production workflow with subcontractors.
  • Provided product descriptions, targeted for audience interests.
  • Edited article submissions.

Array Studios

Sep 2010Feb 2012

Content Strategist

  • Consulted with clients, providing options and recommendations, regarding their web and marketing content.
  • Interviewed product experts to identify key selling points and features.
  • Wrote goal-driven, branded website content after interviews.
  • Developed and implemented SEO and online marketing campaigns.

Other Employment

Jun 2009Sep 2010

Subcontractor

  • Wrote and edited websites, presentations, brochures, and print pieces.
  • Edited for 'Island Times Magazine'.

Past Employment Projects

Medical Insurance Billing, Web Platform and API   (Dr. Bill)

'Dr. Bill' allows physicians in British Columbia, Ontario, and Alberta to manage their provincial health insurance claims. My contributions have been as a full-stack web developer, taking features from concept to completion.

Some of my more notable contributions are as follows.

  • Designed and built the entire Alberta billing system: back-end and front-end. The back-end required a claims submission engine, and had to satisfy rigorous government conformance testing requirements. The front-end required an extensive form, powered by object-oriented JavaScript (a modern front-end framework was not available).

  • Migrated the user account structure from supporting only one billing profile to supporting many. This was a low-level change that touched most existing systems. Results have been very stable.

  • Created an internal SPA (single-page application) to integrate Dr. Bill with FreshBooks. This app allows billing agents to automate and co-ordinate private invoicing efforts with internal claims data. Invoices can be sent, tracked, and managed by agents, all from within Dr. Bill.

  • Integrated large datasets into the Dr. Bill codebase, specifically for diagnosis codes and fee-for-service codes in British Columbia, Ontario, and Alberta. Original datasets were medically technical in nature. Datasets were improved to optimize search speed and accuracy.

Chime   (Red Stamp Agency)

This project involved building a client portal and account management tool for a community management service (social media, blogs, etc). It was built with Ruby on Rails, Foundation, and jQuery, and relies heavily on the Recurly API. 

I was responsible for the majority of development.

  • Implemented Recurly's "PCI-DDS Level 1" compliant payment system. Form fields are delivered via iframe, and match the project's design.

  • Built coupon code support and subscription management tools into the Chime app, using the Recurly API to integrate with billing.

  • Added functionality for better UI and business logic, such as modals, mail service integration (via Postmark), and a full community manager back-end for client management. 

vDevice   (Blacktusk Media)

The vDevice project aimed to produce HTML embedded smartphone simulations (Angular) that could be used in combination with step-by-step tutorials. The goal was to make online courses to teach people how to use their smartphones.

This was my first job as a web developer. My major contributions to this project are as follows.

  • Built a 'simulation builder' using jQuery, that produces smartphone simulation data to be imported/exported, and served via an API.

  • Rebuilt the 'course builder' to be asynchronous and considerably more stable. This course builder used jQuery and AJAX to interact with the Ruby on Rails database, saving each change in real time.

  • Co-ordinated with an Angular developer to build the necessary Ruby on Rails API endpoints.

Education

Lighthouse Labs

Jun 2015Aug 2015

Web Development Bootcamp

  • Coursework Included: Ruby, JavaScript, object-oriented programming, Ruby on Rails, ActiveRecord, SQL, jQuery, Google API, Wikipedia API, AJAX, Advanced CSS, HTML5.

UBC Okanagan

Sep 2006Jun 2009

Bachelor of Arts

  • Philosophy Major
  • Writing and Philosophy Tutor
  • GPA 80% (A-)

Douglas College

Sep 2003Jun 2006

Undergraduate

  • Transferred coursework for UBC Okanagan degree credit.

Activities and Interests

Meditation and Mindfulness

When it comes to staying calm and collected, a little attention can go a long way.

Literature and Writing Techniques

Closely related to my game project above, I like to study what makes for effective storytelling and immersive world-building.

Cycling

My preferred way to stay active and get some fresh air.