Curtis Upshall

A software developer and photographer based in Victoria, Canada.

My journey into software development began in high school, when I co-founded FocusTime in 2015. The platform aimed to help schools manage flex-block attendance more efficiently. By 2018, it was being used by four schools, handling over 5,000 daily concurrent users. Since then, I've had the chance to work with amazing teams on impactful projects, including researching and implementing new algorithms for performing genome assembly on DNA datasets.

After completing my bachelor's in software engineering from UVic in 2023, I've been contributing to enhancing UI design, accessibility, and system functionalities as a full-stack developer at Quartech. When I'm not coding or behind the camera, I enjoy indoor and outdoor climbing, designing and constructing jewelry, and collecting records.

  1. Jan 2022 — Present

    Software Developer Quartech

    Took ownership of frontend development using TypeScript and React, leading major enhancements and significantly improving user interfaces. Demonstrated technical leadership through documentation, proposals, and technical proof-of-concepts for shared components and role-based UI access control. Streamlined developer experience by eliminating anti-patterns and improving accessibility. Deployed infrastructure 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.

  1. Spotlight

    Designing and building a multi-tenant analytics app and scaling to 5,000+ DAU

    Spotlight project thumbnail

    Spotlight is a digital tool for managing self-directed study blocks, designed to replace traditional paper-based systems with a secure, cloud-based solution. It provides administrators with valuable insights into how time is utilized during these blocks, enabling better data-driven decisions and fostering an environment where both students and educators can get smarter together.

    Developing Spotlight was a rewarding project that addressed significant challenges in the educational landscape. By simplifying scheduling and ensuring smooth transitions between classes, the app supports teachers in managing their workload more efficiently. Additionally, Spotlight's actionable data helps educators offer targeted guidance to students, fostering habits that prepare them for future academic success.

  2. Repeat Detection Index

    Creating novel algorithms for efficient and scalable genome assembly

    Repeat Detection Index project thumbnail

    An algorithm to produce an efficient and scalable index that will return all strings of length L such that they appear exactly R times on the target sequence T when queried with L and R. The algorithm answers queries in constant time, and is written in Codon, a high-performance Python compiler.

    By compiling an index of known repeats, we can query the index for sequences with frequencies that correlate with the coverage of a particular genomic experiment. Using the results of these queries, we can leverage consensus to build contigs, allowing us to assemble whole genomes. This work is pending publication.

  1. Battlesnake 2020

    Battlesnake 2020 project thumbnail

    My 2020 entry into Battlesnake, a programming competition started in Victoria, now played worldwide. The snake uses common algorithms like A* and Flood Fill to search for food and strategically stall its opponents.

Photography

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

image showcase
image showcaseimage showcase
image showcase
image showcaseimage showcase
image showcase
image showcaseimage showcase
image showcase
image showcaseimage showcase
image showcase
image showcaseimage showcase

Writings

  1. Jul 16

    Topographic map solitaire ring

    Topographic map solitaire ring project thumbnail

Get in Touch

If you think we're a good match, please connect with me! Whether you have a project in mind or just want to chat, I can best be reached by email. Cheers!