Skip to content
Frontend Developer

I solve problems and build things people love to use.

I’ve spent the last 5+ years building and shipping websites and digital products in agency and startup environments, after 10 years working in the nonprofit world. That background still shapes how I think about communication, users, and meaningful problem solving.

About Me

I love creating things and fixing problems.

I've spent the last 5+ years building and shipping websites and digital products in agency and startup environments. Prior to that I spent 10 years working in the nonprofit world. That background still shapes how I think about communication, users, and building meaningful products.

The problems I care about go beyond code. Sure, I love to spend all day coding, but in my experience the real challenge is addressing the bottlenecks that come from all the people involved with the product.

How I Work

I love working at the intersection of technology, problem-solving, and user experience. I'm always exploring new frameworks and tools, not because trends matter, but because better tools can lead to better products when used thoughtfully.

I'm constantly testing new frameworks, CMS solutions, and development tools so I can stay aware of the best options for different types of projects. That gives me a flexible toolbox and helps me choose the right approach based on the needs of the product, not just personal preference. Whether it's a lightweight build using vanilla CSS and JavaScript or a complex SPA with AI integrations, I'm comfortable building across the full spectrum of modern web products.

I'm also leaning more and more into AI-assisted workflows to build faster, improve QA and testing, and get products into the hands of clients and users earlier. That helps create a stronger feedback loop and leads to more refined, more effective products.

The common thread in all of my work is this: understand the problem, choose the right tools, and build something that truly works for the people using it.

Featured Projects

Three projects I'm proud to share with you.

Explore the work, the decisions behind it, and what actually shipped.

Case study

BIIAB Training Management Platform

Multi-tenant training platform that replaced spreadsheet booking and payment workflows for UK education providers. Built with Remix, Prisma, PostgreSQL, and Stripe.

ReactRemixTypeScriptTailwind CSSPrismaPostgreSQLStripeAWS S3
Case study + live site

Drinking Water for Everyone

Maintenance and infrastructure work on a React and Flask public service app tied to Interior Health data. I handled the Railway migration, backup automation, and data deletion endpoints.

ReactPythonFlaskRailwaySQL
Product

TapBill

Time tracking and invoicing for freelancers. Start a timer with one tap, then turn unbilled hours into numbered invoices. I'm building it on my own: accounts, multi-tenant data, PDF invoices, and email delivery. Free to sign up while it's in beta.

Next.jsTypeScriptPostgreSQLBetter AuthRailway

Want to see more?

I've shipped work for healthcare, nonprofits, conferences, and startups. Check out the full list.

Experience

Product, agency, and consulting work.

Before software I worked in international development and fundraising. That taught me how to deal with stakeholders, shifting requirements, and writing that people outside the codebase can follow.

Education

Lighthouse Labs

Web Development Diploma

2021Remote

University of Calgary

BA, International Development

2009 - 2014Calgary, AB

2025 — Present

Independent Consulting

Web Developer & Consultant

Vancouver, BC

  • Lead end-to-end client engagements across discovery, design translation, development, CMS setup, SEO, analytics, and launch
  • Build with Astro, Next.js, and Sanity, choosing the stack to fit performance, editor needs, and long-term maintenance
  • Configure analytics so clients can track traffic and content performance from launch

2026 — Present

TapBill

Founder & Developer

Vancouver, BC

  • Build and maintain a time tracking and invoicing app for freelancers
  • Develop multi-tenant accounts, PDF invoices, payment workflows, and email delivery
  • Own product decisions, frontend development, backend systems, and deployment

Mar 2023 — Present

Be The Change Group

Web Developer

Vancouver, BC

  • Built and maintained features across 15-plus client websites and digital platforms, covering frontend work, CMS architecture, API integrations, QA, client collaboration, and post-launch improvements
  • Worked across React, Remix, TypeScript, Tailwind, GraphQL, PHP, and JavaScript, adapting to different stacks, codebases, and product needs
  • Built a financial dashboard for a training management platform, contributing to authentication, backend structure, user flows, and stakeholder training for a product that has processed more than £100K

2021 – 2022

Development Solutions Inc.

Front End Developer

Remote

  • Owned frontend features in an early-stage startup from prototype through production release
  • Worked directly with stakeholders on prototyping, iteration, and release planning in a fast-moving product environment
  • Maintained about 75 percent UI component test coverage while building complex React features for stable delivery

2015 – 2020

Hope International Development Agency

Program Manager / Development Officer

Calgary, AB

  • Led 12 international development projects across Africa, Asia, and Latin America before moving into fundraising
  • Raised more than CAD 2.4M each year, building the communication and leadership skills that still support client-facing work
Tools and Systems

Tools I use in production.

The core of my work is React-based frontend systems, content architecture, backend data workflows, and the quality work that gets projects safely to launch. I pick the stack to fit the product, then I ship it.

Frontend

React • TypeScript • Next.js • Remix / React Router • Astro

Content Systems

Sanity CMS • Headless WordPress • WPGraphQL • Faust.js • ACF Flexible Content

Backend & Data

PostgreSQL / SQL • Prisma • Drizzle • GraphQL • Supabase

Quality & Delivery

Cypress • Mock Service Worker • Jest • Selenium • Technical Documentation