Hi, I’m Laia.

I’m a Systems Design Engineering student at the University of Waterloo. I like building software that helps people explore ideas, model complex systems, and solve real-world problems.

Portrait of Laia Lehmann

Selected Engineering Work

Machine Learning & Remote Sensing 2026

Forest Loss Detection from Satellite Imagery

A deep change-detection model that identifies deforestation across bi-temporal Sentinel-2 satellite imagery (2018 vs. 2025). Built to address the low recall of traditional single-date classifiers by training a shared-encoder Siamese U-Net on multi-spectral difference features.

6 Bands RGB + NIR + SWIR1/2
10,303 Training Patches (30 Regions)
16× F1 Gain on Complex Terrain
0.919 Deforestation Precision
Details

The problem & background

I initially trained a ResNet18 classifier on 27,000 EuroSAT RGB tiles. While it achieved 94.72% test accuracy on static land-use classification, it performed poorly when evaluated for change detection against Hansen Global Forest Change ground truth (mean F1 of 0.42, mainly due to low recall). Single-date classifiers struggle to separate seasonal vegetation shifts from actual canopy loss.

How it works

I redesigned the approach as a dedicated Siamese U-Net change-detection model with a shared encoder. It processes co-registered 2018 and 2025 Sentinel-2 imagery across 6 spectral bands (RGB, NIR, SWIR1, SWIR2). Feature maps from both dates are compared using absolute differences at multiple depths, and a U-Net decoder reconstructs those differences into calibrated pixel-level probability maps.

Key improvements & training setup

  • Loss balancing: Combined Binary Cross-Entropy with Tversky loss (α = 0.4, β = 0.6) to penalize false negatives more heavily given the severe rarity of deforestation pixels.
  • Sampling & augmentations: Region-balanced and change-balanced sampling between low, medium, and high-loss patches with synchronized geometric augmentations.
  • Threshold calibration: Validation-based tuning established an optimal probability threshold of 0.15.

Dataset scaling & regional results

The initial Siamese model was trained on only 6 regions (1,734 patches) and generalized poorly to unseen landscapes. Expanding the dataset by 5.9× to 30 geographic regions (10,303 patches) led to major benchmark improvements, such as a 16× F1 improvement and 20× IoU improvement on complex testing areas like Greece (precision 0.919, recall 0.254, F1 0.399).

PyTorch Computer Vision Sentinel-2 (Copernicus) Siamese U-Net Tversky Loss Python
Simulation & Wireframe Art 2026

2D Physics Engine & Wireframe Art

An interactive 2D simulation environment and generative wireframe visualizer built from first principles. Combines custom impulse collisions, uniform-grid spatial partitioning, Hooke-law spring lattices with strain tearing, dynamic force fields, and projected 3D mathematical surfaces.

120 Hz Fixed-Step Simulation
From Scratch 0 External Physics Engines
10 Suites Automated Tests & Benchmarks
3D Surfaces Torus, Mobius & Wireframe City
Details

The problem & background

Most 2D physics libraries act as opaque black boxes. I wanted to understand motion, spatial indexing, collision resolution, and constraint solving from mathematical first principles, while also exploring how 3D mathematical surfaces can be projected onto a 2D canvas.

How it works

SFML is used solely for opening the application window and drawing basic primitives. Motion integration, broad-phase uniform-grid spatial partitioning, mass-aware circle impulse collisions, Hooke-law spring lattices, and strain-based tearing are all implemented from scratch in C++17. A fixed 120 Hz simulation loop runs independently of rendering frame rates.

Key features & interactive systems

  • Forces & fields: Gravity, aerodynamic wind, electrostatics, attractors, repulsors, vortices, and temporary force pulses.
  • Deformable systems: Pinned particles, spring meshes, distance constraints, and strain-based tearing.
  • Generative wireframes: Parametric 3D surfaces (torus, Möbius strip, spherical harmonics, wave functions, and wireframe city) with particles flowing across geometric vertices.
  • Testing & verification: 10 automated test suites and a deterministic benchmark harness.

How to download and run the macOS app

If you want to experiment with the engine directly, you can download Particle Physics Laboratory v1.0.0 for Apple-silicon Macs.

Unzip the download, then move Particle Physics Laboratory.app to your Applications folder. Because this portfolio build is ad-hoc signed rather than Apple-notarized:

  1. Right-click (or Control-click) Particle Physics Laboratory.app in Finder.
  2. Select Open from the menu.
  3. Click Open in the security prompt.
C++17 Physics Simulation Spatial Partitioning Wireframe Art SFML CI / Automated Testing
Computer Vision & Accessibility 2026

Signwise: ASL Alphabet Practice with Camera Feedback

A private, in-browser American Sign Language practice tool that tracks 21 hand landmarks via webcam. Provides real-time corrective feedback on finger placement, recognizes dynamic strokes for moving signs ('J' and 'Z'), and executes 100% on the client device.

21 3D Hand Landmarks
100% Client-Side (Zero Video Upload)
A–Z + ILY Static & Dynamic Signs
Ongoing Deaf Community Validation
Details

The problem & background

Learning fingerspelling through static diagrams makes it difficult to know whether your hand shape or thumb placement is actually correct. I wanted to build a zero-friction, camera-assisted practice tool that provides immediate visual feedback while fully respecting user privacy.

How it works

MediaPipe tracks 21 3D hand landmarks directly in the browser via webcam. Instead of relying on raw pixel distances that change as you move, all coordinates are projected onto a local coordinate system anchored at the wrist and knuckles, normalizing measurements by palm length. Dynamic letters like 'J' and 'Z' track ordered stroke paths and turning directions adjusted for handedness.

Key features & feedback engine

  • Weakest-match scoring: Overall rule fit is paired with a weakest-link penalty so a single misplaced thumb prevents passing, accompanied by on-screen highlights and written corrections.
  • Practice & timed challenges: Randomized timed tests with hidden hints, letter-by-letter name spelling requiring a hand release, and targeted review queues for missed signs.
  • Privacy-first: 100% of video processing happens locally in client memory; no camera frames are ever uploaded or stored.

Try the live demo & community validation

You can test the tool directly at signwise-first-signs.julienleh.chatgpt.site. I am currently planning validation sessions with Deaf community members and ASL professionals to calibrate rule thresholds and ensure authentic handshape accuracy.

MediaPipe Computer Vision JavaScript / HTML5 Kinematic Geometry Privacy-First

About Me

I’m a Systems Design Engineering student at the University of Waterloo, seeking co-op opportunities in software development, applied machine learning, and data analysis. I build software that helps people explore ideas and address practical problems. I’m also working with WARG, which develops autonomous aircraft, and MedTechResolve, which builds technology to improve medical diagnosis and care.

Beyond engineering, I organized two donation initiatives that redistributed approximately $50,000 in goods to community organizations and families. With volunteers, I collected and sorted donated items and gave families the opportunity to choose what they needed for free.

Design Teams WARG & MedTechResolve Autonomous aircraft systems & medical diagnostic technology
Community Leadership Donation Initiatives Redistributed ~$50,000 in essential goods to local families
Technical Focus Applied ML & Interactive Tools Computer vision, physics simulations, and practical software

Technical Skills

Languages & Core Tools

  • Languages: C++, Python, JavaScript, HTML5 / CSS3
  • Systems & Graphics: Simulation solvers, SFML, numerical integration, uniform-grid spatial partitioning
  • Version Control: Git, GitHub, GitHub Actions CI/CD
  • Platforms: macOS, Linux/Unix development environments

Machine Learning & Vision

  • Frameworks: PyTorch, MediaPipe, NumPy, SciPy
  • Architectures: Siamese networks, U-Net, ResNet, feature differencing
  • Geospatial: Sentinel-2 multi-spectral imagery (Copernicus), change detection
  • Loss & Optimization: BCE + Tversky loss, class imbalance, synchronized data augmentation

Systems Design & Engineering

  • Relevant Coursework: Fall 2026 · In progress
    • SYDE 151 — Intro Systems Thinking
    • SYDE 161 — Intro Design
    • SYDE 121 — Digital Computation
    • MATH 115 — Linear Algebra (Eng)
    • MATH 117 — Calculus 1 (Eng)
    • SYDE 101 — Communications: Written & Oral

happy to connect:)

LinkedIn GitHub