Hi, I'm Mark!

I build fast, reliable web apps with React and TypeScript. I've led a UI migration that cut 300KB from a production bundle and written data hooks my team adopted as the standard.

Hi, I'm Mark!
Green Party of Ontario
Green Party of Ontario

Software Developer Co-op

Ontario's provincial Green Party, working for fairness and a future Ontarians can believe in.

My work: Worked with the team on Canopy, the party's new WordPress platform and the foundation of the next gpo.ca, powering the main site alongside riding and campaign sites, writing its design docs and core theme in PHP and TypeScript.
  • WordPress
  • PHP
  • TypeScript
US Chess Ratings

Full Stack Developer (Front End Focus)

The unified rating platform for US Chess's 110,000+ members. Built while working at Leago.

My work: Using React and TanStack Query, I built the forms, tables, and data hooks for the app. My create and update hooks became the team's standard pattern. When a critical bug came up right before a high-stakes demo, I found and fixed it in time.
  • React
  • TanStack Query
  • TypeScript
US Chess Ratings
Leago
Leago

Full Stack Developer (Front End Focus)

A tournament, club, rating, and membership platform for mind games.

My work: I led the migration of the platform's forms from Material-UI to ShadCN and custom components. That cut 300KB from the bundle and made rendering 10-20% faster. I also worked in the C# .NET backend, reducing technical debt on both sides of the stack.
  • React
  • ShadCN
  • .NET (C#)
Builder Lynx

React Developer

Builder Lynx is an all-encompassing platform for construction companies (builders) to manage their business.

My work: I built the frontend Digital Sales Office (Purchaser Portal) for builders to advertise, sell, and sign contracts like the Agreement of Purchase and Sale for their projects.
  • React
  • Redux Toolkit
  • TypeScript
  • Node.js
Builder Lynx
AIFounded
AIFounded

Full Stack Developer

Basketball Terminal: A visual analysis of NBA stats.

My work: As the frontend developer for the project, I used React and Plotly to create a responsive and interactive dashboard that displays comprehensive analysis of NBA stats.
  • React
  • Plotly
  • Firebase

Let's work together