Hello and welcome to my website!βοΈ
You can call me, 'Lam' π (rhymes with Sam).
I was born and raised in Oregon π². I hold a Bachelor's of Computer Science (2018), and a Master's of Artificial Intelligence (2022) from Oregon State University π¦«.
My graduate studies advisor was Professor Alan Fern.
I'm always looking to explore and learn new things π! I love working in odd corners of ML π: reinforcement learning research, predicting cold hardiness in wine grapes, catching defects in lumber at mill speed, finding faults on the electrical grid from drone imagery, plus microcontrollers, automation, and DevOps/MLOps on the side.
My hobbies include weight lifting, working on personal programming & electronics projects, CAD modeling, 3D printing, flying drones, and playing video games.
Collaborations
Company
Year
Role
Buzz Solutions
July 2024 - May 2026
Senior AI Engineer
MiCROTEC USA
July 2022 - May 2024
AI Engineering Lead; vision AI for the Lucidyne scanner
Oregon State University
January 2018 - 2022
Research Faculty & Graduate Student
Tektronix (MECOP)
June 2018 - December 2018
Junior DevOps SWE; Time Domain Business Unit Oscilloscope DevOps Team
HillRom WelchAllyn (MECOP)
April 2017 - November 2017
Junior SWE; RetinaVue
Oregon State University Central & College of Forestry IT
Kin-Ho Lam, Delyar Tabatabai, Jed Irvine, Donald Bertucci, Anita Ruangrotsakun, Minsuk Kahng, Alan Fern; ICAPS 2022, June 2022.
[ojs.aaai.org]
[arxiv]
My Master's project adapts CheckList-style behavioral testing from NLP to reinforcement learning: instead of one aggregate score, you write targeted test suites that probe the individual inferences a planning-based agent should be making, which surfaces reasoning flaws a value estimate hides.
Aseem Saxena; Paola Pesantez-Cabrera; Rohan Ballapragada; Kin-Ho Lam; Markus Keller; Alan Fern; AAAI 2023, June 2023.
[ojs.aaai.org]
[AgAID Institute]
Predicting when wine-grape buds break dormancy, a date growers plan a season around. Training on cold hardiness as a related task alongside budbreak lets cultivars with few labeled seasons borrow signal from the ones with many.
Kin-Ho Lam, Zhengxian Lin, Jed Irvine, Jonathan Dodge, Zeyad T Shureih, Roli Khanna, Minsuk Kahng, Alan Fern; IJCAI-PRICAI 2020 Workshop, June 2020.
[arxiv]
Opens an agent's internal search tree and asks whether a person looking at it can actually find the flaw in its reasoning.
Zhengxian Lin, Kin-Ho Lam, Alan Fern; ICLR 2021.
[iclr.cc]
[arxiv]
Trains the agent's value function over human-meaningful future properties instead of a single opaque number, so "why this action and not that one" can be answered by contrasting the properties the agent expects each choice to produce.
Roli Khanna, Jonathan Dodge, Andrew Anderson, Rupika Dikkala, Jed Irvine, Zeyad Shureih, Kin-Ho Lam, Caleb R. Matthews, Zhengxian Lin, Minsuk Kahng, Alan Fern, Margaret Burnett; ACM Transactions on Interactive Intelligent Systems, 2021
An empirical study of whether a structured after-action review helps users find an AI agent's faults, and how much of the benefit comes from the structure rather than the explanations themselves.
Delyar Tabatabai, Anita Ruangrotsakun, Jed Irvine, Jonathan Dodge, Zeyad Shureih, Kin-Ho Lam, Margaret Burnett, Alan Fern, Minsuk Kahng, IEEE VIS 2021.
[ieeexplore]
A visual analytics interface that scales the after-action review process so an analyst can work across many episodes of agent behavior at once instead of walking through one decision at a time.
Jonathan Dodge, Andrew Anderson, Roli Khanna, Jed Irvine, Rupika Dikkala, Kin-Ho Lam, Delyar Tabatabai, Anita Ruangrotsakun, Zeyad Shureih, Minsuk Kahng, Alan Fern, Margaret Burnett; AI Letters 2021
[doi.org]
A retrospective across our explainable-AI studies on why the early experiments kept producing "no clear winner" results, and what had to change in the methodology before the differences became measurable.
Rupika Dikkala, Roli Khanna, Caleb Matthews, Jonathan Dodge, Sai Raja, Catherine Hu, Jed Irvine, Zeyad Shureih, Kin-Ho Lam, Andrew Anderson, Minsuk Kahng, Alan Fern, Margaret Burnett; ACM/IEEE 14th International Conference on Cooperative and Human Aspects of Software Engineering (CHASE 2021), May 2021
Moving controlled human-subject studies to fully remote during COVID: which parts of a study design survive the move, which quietly break, and how to keep the data trustworthy when you cannot see the room.
Jonathan Dodge, Roli Khanna, Jed Irvine, Kin-Ho Lam, Theresa Mai, Zhengxian Lin, Nicholas Kiddle, Evan Newman, Andrew Anderson, Sai Raja, Caleb Matthews, Christopher Perdriau, Margaret Burnett, Alan Fern; ACM Transactions on Interactive Intelligent Systems, 11(3-4), Article 29, 35 pages, 2021
The full treatment of AAR/AI: a structured debrief process, borrowed from military after-action review, for working out why an AI agent did what it did β and evidence that assessors using it evaluate agents more thoroughly.
Theresa Mai, Roli Khanna, Jonathan Dodge, Jed Irvine, Kin-Ho Lam, Zhengxian Lin, Nicholas Kiddle, Evan Newman, Sai Raja, Caleb Matthews, Christopher Perdriau, Margaret Burnett, Alan Fern; ACM Int. Conf. Intelligent User Interfaces, March 2020
The first outing for AAR/AI. Participants assessing a reinforcement learning agent reported that the structured review kept their analysis "organized and logical," which is where the rest of this line of work started.
Projects
MicroPython Boardfarm
An open-source embedded framework I'm putting together to push an LLM through microcontroller firmware tasks. An agent can build and test firmware end-to-end in Docker while the human validates on real hardware. Write-once library code runs across 3 MCUs and shared peripherals (I2C displays, NFC, IMU, GPS, magnetometer, ToF range sensors). Everything runs behind a Docker-only CI/CD pipeline: host-side pytest against stubbed MicroPython modules, held to a 90% coverage gate. MIT-licensed.
Feature
Status
Pins and onboard features can differ across microcontroller boards — WiFi on some, only a plain status LED on others. Boardfarm constrains the agent to obey specified software patterns — inheritance, polymorphism, separation of concerns — so it automatically writes human-readable MicroPython firmware that runs unchanged across every supported MCU.
Done
Given a plain-English description of the parts to connect to a board — an ATGM336H GPS module, SSD1306 I2C OLED display, etc — and of what the finished device should do, Boardfarm constrains the agent to produce the exact pin-by-pin wiring between the microcontroller and each part, along with the firmware that makes the board behave as prompted.
Done
Firmware normally can't be verified without the physical board. Boardfarm constrains the agent to write pure sensor logic and stubs the MicroPython hardware modules, so that code runs under pytest on a regular computer. Every agent change re-runs the whole suite in CI/CD behind a 90% coverage gate; a new feature that breaks an existing driver or project can be detected before flashing to a board.
Done
Given a correct MCU-to-peripheral wiring description, Boardfarm will generate a KiCad PCB and MCU-specific Gerber files that can be sent to a commercial PCB fabricator.
To Do
Boardfarm contains enough context that locally hosted agent loops can produce projects equivalent to those from frontier models.
A slide deck on LLMs I'm writing which is being peer-reviewed by colleagues and working researchers. Covers information theory and tokenization, works through how these models are trained (RL post-training, chain-of-thought), and ends on system integration: agent control loops and RAG.
A web platform I built from scratch as a testbed for the latest open-weight vision and language models, so I can integrate, fine-tune, and benchmark them against my own datasets and workflows as they release.
The LLM side is a from-scratch RAG documentation assistant: self-hosted open-weight models served off my own GPUs, a FAISS vector index, multi-pass query rewriting, and reciprocal-rank-fusion retrieval, with generation constrained to the retrieved sources so every answer carries citations. Serving uses key-value caching and a WebSocket job dispatcher that routes queries to on-demand GPU workers which support scale-to-zero or long-live serving.
The vision side covers object detection, SAM-3 instance segmentation, and CLIP embedding and clustering across distributed GPU workers, feeding annotation interfaces with SAM-assisted and model-assisted pre-labeling. Datasets, ontologies, and per-image annotations are all versioned with full revision history.
Pipelines combining VLMs, CNNs, in-context vision learning, and classical algorithms to auto-label supervised vision datasets from sparse or partial annotations (Florence2, CLIP, SAM, PEFT-tuned ViTs). Propagated labels route through human review before they land in a dataset.
Depth Sensing with Computer Vision and Lidar (2018)
For my university capstone project, I developed a multi-dimensional depth sensor by combining computer vision with a single-dimension lidar sensor. The final system incorporated a wooden jig, a pre-trained YOLO model, a 4K Logitech webcam, and an RPlidar A1 sensor.
Our research explored explanation-informed acceptance testing of deep adaptive programs. I designed explanation-rich scenarios, managed a graduate-student team, and coordinated and ran human-subject studies. The following is a video of the game I designed for our research, a simplified version of Starcraft 2. Inspired by the popular mod "Nexus Wars", this experimental domain features an adversarial multi-agent dynamic, discrete action space, continuous state space, and a partially observable environment.
Stateless web application, quick math practice in your local browser. Randomly generated addition, subtraction, multiplication, and division math problems within your own constraints.
Generative AI was not used in my work before 7/16/2023.