Projects & Platforms I’ve Built
Parcours Analytics
A privacy-conscious web analytics platform built with Django, FastAPI, PostgreSQL, Docker, and AWS.
Highlights
- Event collection system
- Visitor tracking
- Aggregation pipelines
- Dashboard reporting
- Multi-tenant architecture
Tech Stack: Django, FastAPI, PostgreSQL, Docker, AWS
Status: Active
MSP Directory Network
A collection of directory websites designed to help businesses discover managed service providers while exploring search, filtering, analytics, and content management at scale.
Highlights
- Multiple production websites
- Shared architecture
- Search and filtering
- Content management workflows
- Custom analytics
Tech Stack: Django, PostgreSQL, Docker, AWS
Status: Active
Engineering Highlights
MSI Installer
At ProShop, I developed an MSI-based deployment solution for a QuickBooks integration component used by on-premises customer environments.
The installer automated configuration and deployment tasks that were previously manual, reducing installation complexity, deployment time, and support effort.
Technologies
- Windows Installer
- PowerShell
- QuickBooks Desktop Integration
- CI/CD and code signing
- Automatic software updates
Outcome:
- Reduced deployment effort
- Improved installation consistency
- Lower support burden
Supporting Complex Customer Environments
Overview
Unlike many SaaS platforms that operate entirely within the cloud, some ProShop customers maintain infrastructure and business systems within their own environments. Depending on the customer, this may include on-premise deployments, customer-hosted file storage, private network resources, or integrations that require secure communication between cloud and customer-managed systems.
Supporting these environments requires working across multiple layers of the technology stack. Issues often involve a combination of cloud services, networking, operating systems, security policies, application configuration, and third-party integrations.
A significant part of my role involves investigating issues that cannot be reproduced in standard environments and identifying the underlying cause within complex customer-specific configurations. Solving these problems requires a broad understanding of how applications, infrastructure, and networks interact in real-world production environments.
Technologies
- AWS
- Windows Server & Linux
- PowerShell
- Networking & VPN Connectivity
- REST APIs
- Cloud & On-Premise Infrastructure
Key Takeaway: Diagnosing and resolving issues across cloud services, customer-managed infrastructure, and network boundaries requires understanding how complex systems interact beyond the application itself.
Simplifying SaaS-to-On-Premise Connectivity
Overview
At ProShop, I participated in a project that modernized how our cloud-hosted platform communicated with software running inside customer environments
Historically, customers were required to configure static IP addresses, firewall rules, and port forwarding to enable communication between cloud services and on-premise applications. To reduce deployment complexity and improve reliability, we helped implement a new architecture that established secure outbound connections to AWS instead..
My involvement included supporting the design, implementation, testing, and troubleshooting of the solution as it was rolled out to customer environments.
Technologies
- AWS Elastic Container Service (ECS)
- Linux
- Golang, gRPC, Protocol Buffers
- QuickBooks, SAGE50
Key Takeaway: We reduced deployment complexity and improved reliability by helping replace a customer-managed networking solution with a more secure cloud-connected architecture.
Professional Experience
Senior Site Reliability Engineer
ProShop ERP
Software Developer / SDET
Rewind Software
QA Team Lead
Assent Compliance
Senior QA Engineer
Canada Newswire
An Adventurous Spirit Too
Technology has been a big part of my life, but so has adventure.
In 2019, my wife and I decided to do something a little unconventional. We sold most of what we owned, packed up our three teenagers, and spent time travelling across Canada and the United States while I worked remotely.
What started as an experiment turned into one of the best experiences of our lives. We eventually settled in Kelowna, British Columbia, but the memories, lessons, and stories from that adventure remain with me today.
Life moves quickly. I’m grateful we took the opportunity when we did.

