About
Hello! I'm Jonas, a curious software engineer. I'm driven by the challenge of applying algorithms to physical systems in order to perceive, decide, and act in the real world. Open to west coast software roles in robotics/autonomy, particularly AI/ML infrastructure. Résumé above. Projects below.Projects
Isaac Sim RL Training Pipeline
Built a reinforcement learning pipeline in NVIDIA Isaac Sim to train robotic control tasks using JAX/PyTorch
with vectorized environments. Implemented PPO and A2C baselines, instrumented profiling across simulation,
learner, and data path, and produced reproducible results with Docker/devcontainers, automated run scripts,
and clear experiment logs and charts for efficiency and runtime.
Tech Stack: Isaac Sim, PyTorch/JAX, PPO/A2C, vectorized envs, Docker/Devcontainer, CUDA 12.x, TensorBoard/CSV logging, Nsight profiling, GitHub Actions CI
4WD Edge-to-Cloud Robot
Built from "scratch" a mecanum 4-wheel platform that explores unknown environments, finds user-specified
objects, and captures their locations and images. CAD modeled the chassis, designed and assembled the electrical
circuit, developed custom search-exploit-recover behaviour using ROS2 and Nav2. Edge inference runs on an Radxa ROCK 5B+ SBC's RK3588 NPU via RKNN, with cloud sync for datasets, telemetry,
and experiment review. Full simulation and reproducible DevContainer workflow included.
Tech Stack: Python, C++17, ROS2, Gazebo, Nav2, Ultralytics YOLO, RKNN Toolkit 2, ONNX, Docker/Devcontainers, Fusion 360, KiCAD, Ubuntu 24.04
Autonomous 3D Scanner
Built an end-to-end system that converts tabletop objects into printable meshes. A Kinect v2
captures depth frames while a motorized turntable steps under Arduino control.
A C# WPF app calibrates the rotation axis, coordinates capture, and fuses multi-angle scans
into a single point cloud with octree downsampling. Post-processing applies a Hoppe-style
signed-distance formulation with marching cubes, followed by mesh optimization and smoothing,
to produce an STL ready for viewing/printing. Effective on simple geometries;
accuracy bounded by Kinect noise and mechanical tolerances. See the
TPS report, the
final report, or the
repo
for more information.
Tech Stack: C#, C++, Serial + SPI comms, MSVC + MinGW toolchains
Education
M.Sc. Computer Science (Thesis)
University of Victoria — Victoria, British Columbia, Canada
September 2021 - December 2024
Thesis: Policy-Value Concordance for Deep Actor-Critic Reinforcement Learning Algorithms
Focus: Deep Reinforcement Learning, Scientific Experimentation, HPC Deployment
Awards: University of Victoria Graduate Student Fellowship, MITACS
B.Sc. Computer Science (Honors)
University of Victoria — Victoria, British Columbia, Canada
January 2019 - August 2021
Focus: Data Structures and Algorithms, Machine Learning
Awards: NSERC Undergraduate Student Research Award
Associate Degree, Computer Engineering Technology (Co-op)
Northern Alberta Institute of Technology (NAIT) — Edmonton, Alberta, Canada
September 2016 - May 2018
Focus: Electronics, Computer Architecture, Embedded Systems, Hardware Interfacing, Programming (C, C#)
Awards: Dean's Honor Roll
Experience
Machine Learning Research Assistant
University of Victoria — Victoria, British Columbia, Canada
September 2021 - December 2024
- Performed a literature review of computational methods for sequential decision making problems
- Researched and developed novel reinforcement learning algorithms and environments as part of M.Sc. thesis
- Scaled distributed experiments on Compute Canada HPC clusters, optimizing rollout parallelization and hyperparameters
- Conducted statistical analysis of experimental results, produced technical reports, and presented findings to faculty and peers
- Tech stack: Python, PyTorch, TensorBoard, OpenAI Gym, MuJoCo, CometML, Prometheus, Grafana, Ray, SLURM, SSH, Linux, VSCode, Git, LATEX
Teaching Assistant
University of Victoria — Victoria, British Columbia, Canada
May 2020 - September 2023
- Led in-person and online labs for more than ten introductory to advanced computer science courses
- Graded assignments, midterms, and final exams with consistent application of marking rubrics
- Held weekly office hours providing one-on-one and group support to students
- Collaborated with faculty to refine course materials and improve instructional delivery, including implementing automated plagiarism checking using Stanford's MOSS
- Tech stack: Python, Bash, Git, Linux
Junior Full Stack Software Engineer
AppSquire Consulting Ltd. — Edmonton, Alberta, Canada
April 2018 - December 2018
- Built and maintained web and cross-platform mobile applications with React and React Native
- Integrated REST APIs and optimized data flow for performance and scalability
- Collaborated in agile sprints with version control and peer code reviews
- Tech stack: Java/TypeScript, MySQL, REST, CRUD, GitLab, Git, Agile
Junior Java Game Developer (Co-op term)
Fluik Entertainment Inc. — Edmonton, Alberta, Canada
May 2017 - September 2017
- Developed and maintained gameplay and support features for Android devices and wearables
- Fixed bugs, wrote unit tests, and optimized system performance for extended battery life
- Documented code changes and workflows for team use
- Used version control and participated in code reviews and weekly stand-ups
- Tech stack: Java, Android Studio, Android Emulator, GitLab, Git
Misc.
- Here is a visualization of where I've been, created via MapChart
- I track the books I am reading/would like to read on my goodreads page
- Don't want to pay your provider's absurd SSL cert prices? Check out Let's Encrypt
- Collection of quotes