experience
click a role to see what i worked on.
- trained proximal policy optimization (ppo) reinforcement learning (rl) models in pytorch inside docker containers on ubuntu, running a pettingzoo multi-agent environment wrapping decision support system for agrotechnology transfer (dssat) crop simulations, shaping reward to trade yield against nitrogen cost so the policy learns application *timing*, not volume
- lifted simulated corn yield 40% over the agronomist baseline at flat nitrogen across 800+ seasons, validating on held-out weather years to prove weather-adaptive timing over memorized seasons
- ranked 25+ soil, weather, and management features by shapley additive explanations (shap) attribution against soil temperature and yield, rendering spatial density maps agronomists read directly and cutting analysis time 60%
- integrated trained policies into the prescription pipeline, emitting georeferenced variable-rate field plans the robot fleet executes across 40 fields instead of notebook output
- assisted in debugging row-following models, tracing perception failures that pulled robots off crop rows and reproducing them against logged field runs
- scaled training on amazon web services (aws) sagemaker over 5 years of ontario weather and soil records joined to a year of internal nutrient and robot telemetry, running 200+ parallel hyperparameter sweeps
- built python ingest pipelines with pandas and numpy over 10+ gigabytes of weather, soil, and yield data, normalizing per-field time series into training-ready tensors
- automated an extract, transform, load (etl) pipeline on aws elastic compute cloud (ec2) under cron, extracting millions of postgresql records and loading 200,000+ rows daily into a redshift warehouse feeding power business intelligence (power bi) dashboards
- modelled a dedicated warehouse_raw schema in amazon redshift around dashboard read patterns, with fact tables keyed on software version, field, device, and write time so version-over-version runtime comparisons resolve in 1 scan
- replaced row-by-row inserts with amazon simple storage service (s3) staging plus redshift copy under an identity and access management (iam) role, cutting load times 80% and adding hourly per-table load logs so stale data surfaces instead of serving silently
- launched 5 cron-driven slack bots on elastic compute cloud for sensor health, hourly fleet distance and reliability, weather off the open-meteo application programming interface (api), and a daily growing degree days (gdd) tracker predicting growth stages across 40 fields
- stood up a company-wide notion ticketing system for 35+ staff, pulling daily, weekly, and monthly throughput metrics and advising stakeholders on delivery pace
- automated sensor checks with chrome extensions and a short message service (sms) notification system, flagging drift and dropouts in under 5 minutes instead of manual fleet sweeps
- shipped frontend portal work, carrying backend migrations through the user interface and closing 30+ bug and feature tickets on the internal product
- migrated robot telemetry off polling onto websockets and zenoh publish/subscribe, a transport built for high-frequency fleet traffic, cutting message latency 50% in production
- ran field operations across ontario corn fields, deploying and recovering robots in-row and collecting soil samples and crop observations that fed the ground-truth data behind the models
stackpythonpytorchppo / rlpettingzoodssatshapsagemakerdockerubuntuaws ec2ecsrdss3redshiftpostgresqlpandasnumpypower bizenohwebsocketsslack apiopen-meteonotion apichrome extensions
visit site →- built a react and django dashboard covering 25+ projects on a team of 3, modelling the reporting domain in the django object-relational mapper (orm) behind normalized schemas and cached aggregates
- designed idempotent sync jobs keyed on jira issue identifier and update timestamp, upserting rather than appending so 100% of duplicate rows vanished as upstream data drifted
- replaced live jira application programming interface (api) reads with scheduled extract, transform, load (etl) pipelines, moving a per-project request fan-out on every page load into batched off-peak extraction into our own postgresql store
- cut jira api calls 67% and page loads from 8 seconds to under 1 second by serving pre-materialized rows, leaving rate-limit headroom for every other team on the tenant
- shipped the reporting surface for the commercial banking and payments technology quality assurance (qa) department, giving 50+ employees delivery status across every project in one view
- ran demos and checkpoints with senior managers and directors across a 4-month build, keeping scope aligned with what leadership actually needed
- engineered dagster etl pipelines over 100+ gigabytes of data as a software-defined asset graph, letting dagster resolve dependencies and run independent branches in parallel instead of a linear cron chain, saving 2+ days monthly
- developed a python and graphql github activity tracker for 40+ offshore engineers, caching paginated commit queries in redis to automate velocity analytics across 500+ monthly commits
- implemented jenkins and docker continuous integration (ci) pipelines and postgresql read replicas routing analytical reads off the primary, sustaining 99.9% uptime under 15,000+ concurrent queries
- integrated scikit-learn anomaly detection behind a fastapi service scoring pipeline run metrics, surfacing outlier builds and cutting debugging time 40%
- automated end-to-end quality assurance with selenium and playwright, converting manual regression passes into scripted cross-browser suites wired into continuous integration so every build self-verified, saving 15+ tester hours weekly
stackpythondjangoreacttypescriptfastapigraphqldagsterpostgresqlredisdockerjenkinsseleniumplaywrightci/cdscikit-learn
visit site →- selected for cibc spark as 1 of 30 company-wide from 800+ interns, an accelerated development track reserved for top performers
- coordinated the cloud@scale migration of 400+ applications to microsoft azure, tracking wave readiness and deliverables in azure devops against multi-year transformation goals and enterprise standards
- automated triage reporting with excel visual basic for applications (vba) and power query, folding multi-source extracts into one refreshable model and cutting manual reporting 30%, saving 20+ staff hours weekly
- managed planning for $3.5 million in initiatives using confluence and jira, tracking resource allocation and dependencies across 6 delivery teams
- created real-time power business intelligence (power bi) dashboards over structured query language (sql) views of migration status, cutting leadership status-reporting turnaround from 3 days to same-day
- authored weekly visual basic for applications and macro-driven excel reporting used by 10+ directors and senior directors as the standing source of truth for high-stakes portfolio decisions
stackazureazure devopssqlpower bipower queryexcel vbajiraconfluence
visit site →02 / 05