Skip to content
Michael Grier

Resume.

I'm a full-stack developer with five years of experience building reporting and management applications and automating business processes. I focus on simple, easy to use interfaces and clear communication, drawing on my background in education. My independent projects include a custom ecommerce site, a native mobile app, and an interactive learning platform for developers.

Calgary, ABmichael.c.grier@gmail.comGitHub: michael-grier

Experience

Software Developer

June 2023 to June 2026

TransAlta, Calgary

Project: Athena

Production reporting and data governance application

  • Contributed the majority of code to a Next.js and TypeScript production reporting platform with real-time dashboards for wind, hydro, solar, and natural gas management teams and senior leadership.
  • Enabled SQL-fluent analysts to create their own dashboards within the platform using reusable ECharts cards and chart presets.
  • Built a data-catalog workflow with draft submissions, multi-stage review, rework, and audit trails.
  • Implemented Microsoft Entra ID SSO, PostgreSQL-backed sessions, and distributed locking for token refresh across application instances.
  • Built Terraform and GitHub Actions delivery workflows across development, UAT, and production, including release promotion, hotfixes, and rollback.
  • Worked with management teams, analysts, and data engineers to define reporting requirements, plan tasks, and refine fuel-specific dashboards through user feedback.

Project: GenOS

Wind, solar, hydro, and natural gas operations management application

  • Migrated event data from REST to GraphQL and replaced a 1,700-line shared React component with focused wind, solar, and hydro modules.
  • Built reusable mobile and tablet modals for event details and monitoring graphs; established Docker builds and Azure Pipelines across three environments.
  • Fixed SQL Server connection leaks and strengthened JWT verification. Corrected capacity values, event filtering, and multi-unit CSV exports used in NERC reporting.

Junior Automation Developer

June 2021 to May 2023

TransAlta, Calgary

Developed and maintained automations using Blue Prism and Python scripting. Translated stakeholder requirements into reusable process components and handled testing, scheduled execution, and production troubleshooting.

Freelance Software Developer

February 2021 to June 2021

Self-employed, Calgary

Led frontend design and development for a Django web project and supported Unity mobile game development.

Frontend Web Developer Intern

November 2020 to December 2020

Invigulus, Remote

Built a React application connected to a REST API and NoSQL database, giving employees a web interface for data entry and retrieval.

Selected projects

Independent development

Skateboard Ecommerce Platform

Checkout, inventory, and order management for an independent skateboard brand

Built checkout with server-validated pricing and atomic inventory reservations, retry-safe payment processing, and order management. Added end-to-end tests for price tampering, duplicate payments, and stock release.

Next.js, Stripe, Neon PostgreSQL, Drizzle, Cloudflare R2, Playwright

YYC Skate Spots

Community skateboarding map for Calgary

Built a mobile spot book with map clustering, location filters, photo submissions, favourites, and moderation. Added share links with a web fallback and prepared the iOS release configuration and store submission.

React Native, Expo, Convex, Clerk, Google Maps, EAS

Code Trainer

Interactive TypeScript interview practice

Built a browser-based coding workspace with isolated execution, TypeScript checking, and automated grading. Combined lessons and exercises with local guest progress and account-based synchronization across devices.

React, Vite, Monaco Editor, Web Workers, Convex, Better Auth, Vitest