About Me

I'm a computer engineering graduate from the University of Utah. My education has covered everything from learning about circuits, performing lab research, and applying hardware and software skills on embedded devices and FPGA's. Ever since high school, I've enjoyed diving headfirst into any projects I come across to learn more about a specific topic. It's this passion that has led me to spend countless hours tinkering with Linux, debugging build chains, reverse-engineering code, and building tools for myself.

When I'm not at a computer, I spend time practicing classical and jazz piano, reading fantasy novels, hiking, and volunteering at Stone of Hope Youth.

Interests

  • Linux (Debian, Arch, NixOS)
  • Security & privacy
  • Embedded systems
  • Low-level programming
  • Back-end development
  • Developer operations
  • PCB Design
  • FPGA Programming

Languages

  • Java
  • Python
  • Rust
  • C
  • C#
  • Verilog
  • MATLAB
  • Bash
Portrait of William Van Komen in front of red sandstone

Research

My capstone project for my undergraduate degree was detecting silicone breast implant leakage utilizing spread-spectrum time domain reflectometry (SSTDR). SSTDR is currently being researched as a way to detect breast cancer tumors that is cost effective, and a lot less intrusive. My research stemmed off of cancer detection, and focused on silicone breast implant leakage. Breast implant ruptures are much more common than breast cancer, so the hope is that the device can be tested and refined with silicone leakage, and then be used for cancer detection.

My advisor for this project was Dr. Cynthia M. Furse. This project gave me critical experience interacting across multiple teams, gathering data, drawing conclusions, and presenting mine and my partners' findings in a clear way. I was awarded best Electrical Engineering project for Fall of 2025.

Silicone leakage measuring setup, with silicone caulk being inserted into a breast phantom with use of a syringe. There are antennas on the side of the phantom.

Projects

Listed below are some of my more notable projects over the last few years. There are more details on the dedicated projects page.

Assembler & Custom CPU

  • CPU ran on an FPGA with a custom 16-bit ISA and rendered out on a VGA display
  • Custom assembler that functioned as an "Assembly+" language, written in Rust
  • The assembler handled function calls, compile-time arithmetic, if statements, macros, references, argument constraints, and more

Portable Matrix Display Game Device

  • STM Discovery microcontroller
  • Reversed engineered the HUB matrix display protocol, and wrote a 3-bit color depth custom driver for it
  • Assisted team in creating a PCB that drove the display, as well as handling power
  • Demos were a marble board using built-in IMU, snake game, and a rendering showcase
Assembled HUB matrix display device. A 64 by 32 pixel display with purple handles on the left and right of it. The left side has a knob for input, and the right side has two buttons.
HUB Matrix display hooked up to breadboard with a bunch of wires and buttons
Assembled HUB matrix display device, oriented on the backside showing the STM discovery board, as well as a PCB

NixOS Desktop & Server Administration

  • Hobby over the last few years, has let me tinker with my system on a much lower level, since the entire system can rollback to previous generations
  • A single configuration is used with multiple devices with unique hardware
  • I administer systems outside of NixOS (Ubuntu, Debian) that run a variety of services
  • Devices can communicate using a self hosted netbird instance

Personal Portfolio (this website)

  • Built from scratch, not "vibe-coded"
  • Focused on design, accessibility, and low file sizes
  • Used Hugo and Sass