Contact
Rafe McDonald
Python & Full-stack Developer
Nelson BC
Python & Full-stack Developer
Nelson BC
I work at the intersection of Python development, full-stack web applications, and industrial automation. On the web side, we've shipped production systems using Flask, Node.js, and modern front-end tooling. On the industrial side, I've contributed to SCADA/RX3i and real-time monitoring solutions that support day-to-day operations in the field. Alongside this, I've built freelance sites ranging from early concept pieces that help groups clarify their brand to product-centered builds for clients. During my internship, I collaborated with industry teams on ML-driven projects, including acoustic event detection and computer vision for lumber grading, which strengthened my ability to translate real-world problems into technical solutions. Across web, data, and industrial projects, I focus on clear communication, maintainable systems, and collaboration that turns complex requirements into tools teams can rely on. Along the way, I've had the opportunity to work across backend services, dashboards, data pipelines, infrastructure, and rapid AI-driven code review and annotation work, so I'm comfortable moving between layers and helping connect the bigger picture.
Enterprise Group Inc., Nelson BC
(2025)
Phideliti, Nelson BC
(2024/25)
Data Annotation Tech, Nelson BC
(2024)
Selkirk College, Nelson, BC
(2023/24)
Natural Insect Control, Nelson, BC
(2018/23)
Python backend / SCADA integration: Multi-threaded polling and control for RX3i/Modbus PLC units; REST APIs (Flask) for dashboard and reporting.
Database architecture (SQLite): Multi-file archive design, metadata indexes, parallel queries, and safe 10GB+ historical data handling.
Data processing & analysis: EDA, anomaly detection, and correlation analysis on time-series industrial data (Pandas, NumPy, Altair, Matplotlib).
Error handling & logging: Circular logging buffers, transaction-level tracing across a multi-stage data pipeline, and robust error reporting.
SCADA dashboard: Modular web dashboard with multiple panels (overview, unit management, reporting, PLC manager, alerts).
Real-time visualization: Live charts with zoom/pan and interaction (Chart.js, Altair), wired to real-time backends.
UI/UX for operations: Layout and flows designed around operator workflows, status visibility, and accessibility considerations.
PLC & protocols: Modbus/SRTP integration with GE RX3i, firmware-aware register mapping, and unit-level control (start/stop, offline handling).
Industrial networking: Network probing, router configuration analysis (Red Lion, Advantech, Skorpion), VPN setup, and connectivity monitoring.
Server & VM management: Linux server administration (SSH, supervisorctl), Windows VM setup, and cross-platform deployment (PySide6, PyInstaller).
Security & access control: Firewall review, IP whitelisting, VPN configuration, and access-control planning for production SCADA.
AI collaboration: Designed comprehensive autonomy/communication rules and context documents to integrate AI into an active SCADA project.
Environment & deployment: Process supervision, restart procedures, and handling large data files in production environments.
Version control & teamwork: Git/GitHub workflows, iterative changes, and traceable documentation.
Project & stakeholder management: Weekly updates, requirements refinement with operations staff, and coordination in a small team setting.
Technical documentation: Infrastructure reports, API docs, user guides, and architecture descriptions targeted at both engineers and operators.
Quality & testing: Functional, performance, and integration testing focused on system reliability and data integrity.
End-to-end system ownership: Comfortable taking a system from network discovery and requirements through backend, database, and dashboard implementation.
Evidence-based debugging: Uses logging, temporal analysis, and multi-stage tracing to diagnose complex data/firmware/network issues.
Data-first mindset: Designs schemas, archives, and queries for large time-series datasets, with clear performance and integrity guarantees.
Operational reliability focus: Designs and operates systems with an emphasis on stability, observability, and safe rollout patterns.
Clear documentation & stakeholder communication: Produces structured technical docs and works directly with operations staff and management.
AI-assisted development: Builds and uses AI interaction frameworks to accelerate coding, analysis, and documentation while keeping human control.
Junior Developer for Python multi-threaded production monitoring system with SCADA/Modbus protocol integration, real-time data acquisition, and a comprehensive front-end dashboard for production-critical remote monitoring and industrial automation control.
Enterprise Group Inc.
Primary Intern Researcher and Programmer for an automated machine learning pipeline intended for detection, identification and documentation of noise sources for mitigation of community impact.
Selkirk Innovates
Primary Intern Researcher and Programmer for Python photogrammetry, point cloud and computer vision pipeline intended for an automated quality control detection mechanism.
Selkirk Innovates
Collaborating member of advanced audio synthesis and effects designers working in Kyma, a hardware-accelerated digital audio synthesis environment.
Kyma Kata
Presenter of research on physics-based analysis and modeling of sonic systems and implementations within the Kyma environment.
KISS Busan, Korea
Full-stack Web Development Certificate (2024/25)
Advanced Computing Applied Research Co-op Internship (2023/24)
Co-op Micro-internship Website Development Project (2024)
University Arts & Sciences Calculus I & II, Linear Algebra, Foundations in Programming (2021/22)
Key Capabilities in Data Science Data Science Certificate (2022)
Physics Based Sound Synthesis (Perry Cook)
Recording Arts Certificate
Master Sitar Mentorship (Kolkata)
CPEMS - Sound Design and Music Production
Introduction to Java Programming
Acoustic Dimensions in Communication (CMNS-259)
Communications Major (3rd Year Complete)