Curtis Upshall

Software Developer

Photographer

Building seamless software and capturing compelling moments.

My journey into software development began in high school, when I co-founded FocusTime in 2015. The platform transformed how schools managed flex-block attendance, enabling students and educators to get smarter together. By 2018, it was integral to the daily routines of four schools, handling over 5,000 daily concurrent users.

Since then, I've had the chance to work with amazing teams on impactful projects. After completing my bachelor's in software engineering from UVic in 2023, I've had the unique opportunity to work on exciting problems in bioinformatics, namely researching and implementing new algorithms for performing genome assembly on DNA datasets. Currently I am at Quartech, where I contribute to enhancing UI design, accessibility, and system functionalities as a full-stack developer.

When I'm not coding or behind the camera, I enjoy indoor and outdoor climbing, designing and constructing jewellry, and collecting records.

Experience

  1. Jan 2022 — Present

    Software Developer Quartech

    Led the frontend design and development of numerous major enhancements for BC's Species Inventory Management System using Typescript and React; significantly improved the system’s UI by developing advanced features previously available only through premium software licenses. Deployed and tested infrastructure used for a verifiable credential proof-of-concept web app using Kubernetes.

    • Typescript

    • React.js

    • Kubernetes

    • OpenShift

  2. Sept — Dec 2019

    Software Development Engineer Co-op AbeBooks/Amazon

    Implemented user account security features alongside new internal tools for an enterprise monolithic web app. Architected secure encryption key rotation and management with Java and AWS IAM. Deployed system architecture used for fulfilling data access requests under the California Consumer Privacy Act.

    • Maven

    • Java

    • AWS

  3. Jan — April 2019

    Full Stack Developer Co-op Redbrick

    Designed and implemented features for an internal analytics web app using React and AWS Athena. Developed an integration test suite for a REST API, integrating it into the continuous integration pipeline using AWS CodeBuild and CodePipeline.

    • Typescript

    • AWS Lambda

    • AWS CodeBuild

  4. 2017 — 2020

    Co-founder, CTO FocusTime

    Fully designed and built multiple iterations of an attendance web app using React, NextJS, Laravel, and MySQL, deploying infrastructure with AWS, and supporting 5,000+ concurrent users. Participated in numerous entrepreneurial competitions with marked success; Produced several informative client demos, marketing copy, in-depth system documentation, and product tutorials.

Projects

  • Repeat Detection Index project thumbnail
    Repeat Detection Index

    A program for performing genome assembly on DNA datasets, which levarages suffix arrays to find repeated regions in text.

    • C

    • Python

    • Bioinformatics

  • StackSight project thumbnail
    StackSight

    A web app that provides programming language and tech stack analytics for all the GitHub repositories in your organization.

    • Next.js

    • React.js

    • Server Components

    • AWS Lambda

    • AWS SQS

    • PostgreSQL

  • Battlesnake 2020 project thumbnail
    Battlesnake 2020

    My 2020 entry into Battlesnake, a programming competition held in Victoria, BC.

    • Typescript

    • AWS

Photography

Photography also plays a significant role in my life. As a working photographer, I specialize in commercial and event photography, but I've capturing everything from astronomical phenomena to cars to real estate.

Commercial image showcase
Portrait image showcase
Astrophotography image showcase
Landscape image showcase
Automotive image showcase

Get in Touch

Let's connect! If you have a project in mind or just want to chat about technology and creativity, don't hesitate to reach out.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.