I’m a fullstack software developer focused on maintainable, tested, and feature-complete software.
experience
On teams, I often play a supporting role: writing library functions, refactoring for clarity, extracting reusable components, and architecting new features. However, I’ve recently been the lead mobile dev on a React Native project, so I don’t shy away from feature work.
I’m generally tool-agnostic, I tend to try many tools until I find something just barely complicated enough to satisfy my needs. I think many simple tools are better than few smart tools. What that often means is that I’m open to using any tool that satisfies the job, and I’m willing to learn new tools to get the job done.
Languages
- Javascript / Typescript
- Python
- Elixir
- Scala (Java)
- Go & Rust: limited experience, but interested in learning more
Familiar PaaS / IaaS
- Heroku
- Netlify
- Cloudflare Pages
- Amazon Web Services (AWS)
- Render.com
- Google Cloud Platform (GCP)
Tools & utilities
- GitHub Actions
- Doppler.io
- Chef.io & Ansible
- Azure DevOps
employment history
Digits | EngineerApr 2025 – present
Frontend-oriented engineer building high-quality AI-driven general ledger software
Orbit | Senior Software EngineerFeb 2024 – Apr 2025
- Wrote, tested, and code reviewed Typescript and Elixir software for Shopify app & theme extension used by 7000+ brands
- Reduced latency of highly used search feature by 80% by analyzing options & deploying off-the-shelf Postgres full-text-search
- Expanded product market by adding support for Shopify’s Markets feature to core Shopify App features
- Created background job processing library using Typescript, comparable to Elixir’s Oban
- Refreshed app infrastructure by migrating from CRA to Vite, assisting in a Flow to Typescript conversion, and refactoring hard-to-maintain legacy code
Jul 2023 – Jan 2024
Citadel et al
GoFetch | Senior Software EngineerMar 2021 – Jun 2023 (company shut down)
- Launched GoFetch Pay, a product focused on bridge financing for vet care, after completing a ground-up rewrite of the mobile app using React Native with TypeScript in four months. At the same time, I supported our backend team while they rewrote our Elixir backend.
- Worked with our Product & Design teams to create design system components, demoing them using Storybook.
- Integrated our mobile app with Stripe, Plaid, and Peach for credit card & bank payments towards loans, as well as adding identity verification.
- Added backend features such as the prototype of a buy-now-pay-later payment plan system to a GraphQL API written in Elixir.
- Continously improved our development experience by…
- Adding automatic checks to our release process to ensure that Elixir API PRs satisfy code formatting conventions
- Migrating one React app from Webpack & Jest to Vite & Vitest to improve start up time and improve hot-replacement performance
- Adding tools to track our code quality, including metrics like file length and cognitive complexity
- Rebuilt legacy CircleCI pipelines to use GitHub Actions.
- Reduced CI time by about 3x by using task caching & distributed execution.
- Integrated Doppler into our dev, CI, and deploy processes to improve safety around secret management.
- Reviewed code, at one point catching an absolutely critical design bug — email me and ask about it, I’ll be happy to tell you. It’s a hell of a story.
- Used an agile process to plan and execute work. During my time we migrated from an agile process to capital-A Agile process using Jira, then — after months of frustration towards how slow the process was — jettisoned back to a very lightweight agile process using GitHub Projects.
May 2020 – Feb 2021
- Designed and developed IT policies for First Nations bands
- Created a giant Postman API collection for a client who was setting up a new student management system demonstrating how to use different endpoints in the API.
- Developed an interactive Vue.js-based data visualization website.
- Created and customized microsites using Wordpress for a Canadian provincial government.
Codan Radio Communications | Software Developer Co-op & DevOps Engineer
April 2018 – August 2019
- Reduced deployment time by 50% for a frequently used deployment process by deleting just one character! Ask me about it, I’ll be happy to tell you.
- Developed a Python script library for OS management for a software defined radio.
- Automated manual builds using Gradle, and migrated CI from Jenkins to Azure DevOps.
- Used automation tools like Chef.io and VMWare to create CI build agents and virtual machines with matching environments.
- Designed a new radio dashboard UI. Created a component library and conducted user testing.
- Began an automated test framework for radio equipment using Scala.