Experience
Where I’ve worked.
Four roles in production software, financial systems, AI data, and QA.
Roles
Roles
Apr 2026 – Sep 2026
Richmond Hill, ON
Software Developer
Invision Custom Solutions · Client: Combined Metal Industries (CMI)
- Built and deployed a production React and TypeScript dashboard monitoring live weights for 61 scale-equipped bins across 20+ customer sites, ingesting CMI's 60-second scale feed (~90K readings/day) and raising threshold, SLA, and emergency alerts that drive truck dispatch.
- Engineered dispatcher workflows for acknowledgment, escalation, truck dispatch, team comments, and role-based access across 3 user roles and 4 SLA tiers; added audit logging and CSV reporting, backed by 43 automated tests.
- Built a restart-safe ingestion pipeline that replayed 304K production readings in ~27 seconds and quarantined 5 classes of invalid sensor data to prevent bad readings from triggering dispatch alerts.
- Designed and shipped an internal QR asset-tracking app in Microsoft Power Apps backed by SharePoint, letting staff scan assets, validate serial numbers, and log asset movement in real time.
ReactTypeScriptNode.jsSQL ServerPower AppsSharePointJun 2025 – Apr 2026
Software Developer, Financial Systems
Invision Custom Solutions · Product: InvisOne
- Built core accounting and treasury modules for an AI-enabled, multi-entity business management platform spanning 11 modules and 201 submodules: double-entry ledger postings, accrual and period-close workflows, and trial balance, P&L, balance sheet, and cash flow reporting across 86 report definitions.
- Implemented financial controls: a centralized posting engine used by 31 services, SHA-256-chained immutable audit trails, and segregation of duties across 1,018 role-based permission scopes with approval workflows on 77 record types.
- Developed AI-assisted cash and exposure tracking across 31 currencies with realized and unrealized FX gains and tax handling from 53 country presets, and built data-integrity controls for AI-driven financial pipelines: CSV import, duplicate detection, and opening-balance loading across 15 record types.
Accounting & treasuryDouble-entry ledgerMulti-currencyAudit trailsData integritySep 2024 – Jun 2025
AI Data & Validation
Invision Custom Solutions
- Generated and validated large-scale datasets for model training and fine-tuning in Python, designing test cases and running error analysis to catch labeling and output defects before they reached training.
- Integrated new data sources into Python ingestion pipelines with validation and preprocessing logic that reduced pipeline failures.
- Delivered production code and documentation for BookedYou.com (launched) and Notepress.ai (in development).
PythonData pipelinesTest designFeb 2024 – Aug 2024
Richmond Hill, ON
QA / Software Support (Part-time)
United Canada Inc.
- Tested and debugged e-commerce features, reproducing customer issues from production logs and verifying fixes.
- Authored and executed test cases for the browse, cart, checkout, and payment flows; documented defects and drove them to resolution with cross-functional teams.
QAE-commerceProduction debugging
Education
Education
Sep 2025 – May 2030
Waterloo, ON
Bachelor of Software Engineering
University of Waterloo · currently 2A
Software coursework
- Programming Principles
- Data Abstraction and Implementation
- Methods of Software Engineering
- Digital Circuits
- Foundations of Sequential Programs*
- Digital Computers*
- Logic and Computation*
Mathematics coursework
- Calculus 1–3
- Linear Algebra
- Honours Algebra
- Statistics for Software Engineering*
* in progress, Fall 2026
Skills
Skills
- Agentic development
- Agentic codingMulti-agent workflowsClaude Code, Codex, CopilotAI-assisted development
- Languages
- C++CPythonTypeScriptJavaScriptSQLHTML/CSS
- Frameworks & Platforms
- ReactReact Native (Expo)Node.jsElectronTailwind CSSChrome ExtensionsSupabase (PostgreSQL)SQLiteREST APIs
- Tools & Cloud
- GitGitHub ActionsVercelAzureMicrosoft Power AppsSharePoint
Everything above appears in shipped work. Details in the résumé.