Resume

Education, experience, selected works and play.

Education

M.S. Computer Science

Computer Science

Algorithm Design & Analysis
Algorithmic Problem Solving
Numerical Computation
Formal Proof Foundations

Proofs are… programs?
Type checking is the same as verifying a proof? WHAT?!

Software Engineering

One of the most practical classes I took.

Internet, Web & Cloud Systems

Also one of the most practical classes I took.

Functional Programming

One of my favorite classes. The Haskell language… so concise and clean.
Pure vs effectful code, yes. Pattern matching, duh! Lazily evaluated hunks, why not. Property based testing via QuickCheck (opens in a new tab), woah. And monads, sure.

Taught by Dr. Yao Li (opens in a new tab) who did an excellent job of keeping it fun and light while shepherding us through mind bending concepts.

For the final project… I… wrote… this story… about… Santa and… monad transformers…

Artificial Intelligence & Machine Learning

  • Math Foundations of Emerging Technologies
  • Artificial Intelligence
  • Machine Learning
  • Deep Learning
  • Reinforcement Learning
  • Trustworthy AI
  • Agentic Software Engineering

Computer Vision

  • Foundations of Computer Vision
  • Intro to Computational Imaging

B.S. Electrical & Computer Engineering

Mechanical & Industrial Engineering

  • Engineering Graphics & 3-D Modeling
  • Statics
  • Dynamics
  • Strength of Materials
  • Systems Dynamics & Controls
  • Computational Methods for Industrial Engineering
  • Introduction to Manufacturing Process
  • Engineering Economy

Mathematics

  • Differential Calculus
  • Integral Calculus
  • Vector Calculus I, II
  • Applied Differential Equations
  • Discrete Mathematics
  • Matrix & Power Series Methods

Science

  • Physics with Calculus I, II, III
  • Chemistry for Engineering Majors
  • General Biology

Computer Science

  • Intro to CS I, II
  • Computer Organization & Assembly Language
  • Data Structures
  • Operating Systems
  • Computer Networks
  • Social & Ethical Issues in Computer Science

Electrical & Computer Engineering

  • Electrical Fundamentals I, II, III
  • Electronics I, II
  • Signals and Systems I, II
  • Digital Logic Design
  • Energy-Efficient VLSI Design
  • Introduction to Probability & Random Signals
  • Power Electronics
  • Transmission Lines
  • Electric and Magnetic Fields
  • Engineering Magnetics
  • Antennas and Propagation
  • Microwave Design Techniques

General Education

  • English Composition
  • Technical Writing
  • Argument & Critical Discourse
  • Appearance, Power and Society
  • Geography of the Western World
  • Sustainability for the Common Good
  • Introduction to Macroeconomics

Extracurricular

  • Billiards
  • Basketball
  • Soccer
  • Music Appreciation II: Hip Hop Theory and Practice
  • Music Cultures: Native American Flute

Employment

Bold Reuse

  • Support our legacy software systems.
  • Architect and develop software systems for daily operations.
  • Author a successful grant proposal for Phase 1 of SBIR 2025 to further develop software for the circular economy.
  • Prototype mechanical & vision systems for base line rack counts through the wash line.
  • Member of team responsible for new contract with Moda Center.
  • Perform daily operational duties.

3DIO

  • Schematic & PCB design for 2nd generation of 3DIO's signature stereo microphone.
  • Optimizations to battery life (switching regulator, power delivery), part selection (battery monitor & logic design).

Folktek

  • Mix of about 10 projects at low to medium volumes (thousands) from idea to PCBA.
  • Ensure audio signal integrity in mixed-signal designs with switching power.
  • Developed AVR MCU firmware for timer configuration, clock generation, analog sampling, capacitive touch, etc.
  • Develop scripts for semi-automated PCB placement and routing, leveraging KiCad's Python API and open-source tools.
  • Grow team by 4x in one year to assist with circuit prototyping & in-house PCB assembly.
  • Design 3D printed bit for common nut to decrease assembly time by an order of magnitude.

Ion Channel

  • Deploy Docker container (AWS, Fargate) to extract metadata from 1.5M repos via GitHub's GraphQL API.
  • Transform dependency relationships (PySpark) into graph and visualize (Gephi) to identify risks in supply chain.

Timberlab

  • Interpret and verify blueprints. Ensure myself and team's marks are accurate within 1/16th inch.
  • Entrusted with complex hand fabrication tasks.
  • Design a router jig for a fire tape channel: saved many hours across hundreds of pieces.1
  • Design a plunge chainsaw jig which allowed operating with one person instead of two.

Software Technology Group

  • Develop back & front-end for medical wire spooling machine. (InfluxDB/MongoDB/Node-RED/JavaScript/Vue)
  • Integration of laser sensor and PLC for map of ceramic substrate height at nanometer precision. (C#)
  • Mechanical design of robot end effector for United States Geological Survey soil sampling lab. (OpenSCAD)

Dynamic Range Labs

  • Develop electronics simulation web application (SQL/C#/.NET/TypeScript/Vue). Take lead on client communication, meeting organization, feature definition & implementation. Assist with scoping additional work & project management.

Cinder Solutions (now Novus Labs (opens in a new tab))

  • Primary role: electronics design & in-house prototyping (breadboard, schematic, PCB, SMT assembly, reflow & rework).
  • Developed microcontroller firmware for driving motors & solenoids, Bluetooth & Wi-Fi modules, GPIO/UART/Serial/I2C/SPI interfaces.
  • Create parametric model of capacitive touch-screen overlay PCB (Python, Eagle CAD) for combinatorial exploration.
Internal Measurement Unit benchmarking and test automation
I really enjoyed this project. It was one of my first software projects, and I overextended myself and learned not to automate everything up front.
  • Create fully automated test execution and report generation (Python, bash) for benchmarking IMUs (inertial meas. units).

Oregon State University

  • Verilog for FPGA to configure buffers and initialize hardware for Ultra-Wideband tool tracking project.

Restaurants & Kitchens

  • As a busser you learn to move quickly, balance immediate needs vs overall efficiency, and constantly re-evaluate priority.
  • Helped launch a new pizza restauraunt, then chaos at the Old Spaghetti Factory, then some finer dining.
  • Learn how to take care of a knife. Dice a lot of potatoes and other veg.
  • Sear then bake a lot of chicken and beef.

Independent

  • Establish respect between all parties. Make quick decisions of compounding effect.
  • Prioritize safety while cultivating the flow of the game.

Projects

  • A version control authoring model playing on the idea of "stacks" of changes but adds "types".
  • The unit of change is a trail which is simply a segment of commit history (or, a stack of changes).
  • A trail must match a "pattern". In other words, a trail is "typed". Types are configurable.
  • The model also includes a multi-boundary history. One boundary preserves an immutable trunk, the other end allows dumping commits onto the tip, and in between is a malleable middle zone.
  • The unit of change is not an individual commit, but instead the formation or amendment of a trail.

inistory

Graduate Project

  • A model for authoring source code history which binds two histories into a single narrative.
  • A question-based model for decision history is bound with segments of commit history.
  • Within a bound segment, accepted answers must establish full (line-level) code coverage.
  • In partnership with Portland Underground Grad School and financial support from Cinder Staffing,
  • Developed curriculum and instruction for an all ages, hands-on, four session electronics course.
  • Spent an insane amount of time preparing before each session only to revise my strategy completely each time!

Wireless Hand Sensor

Undergraduate Project

  • Glove with capacitive touch points to activate macros and an inertial measurement unit to move the mouse pointer.

Volunteer

  • Mentor an undergrad computer science student.
  • A collection of farms on undeveloped lots in the city.
  • Fun time working with a ever flowing mix of people on whatever needed to be done that day… Weeding, hard scaping, cultivating, harvesting, distributing, hauling, etc.
  • First took a class making vinegar out of blackberries.
  • Spent a season out here helping weed, cultivate, and transplant. Also, learned what not to worry about.
  • Everytime I stepped foot here… I felt instantly healed. I can remember strolling through the rows…
  • Observed how you may bring many plants and fungi together.

Play

Soccer

Have played all my life… mostly indoor lately.

Lacrosse

Got my ass beat up for a while in highschool and even the first year of college.

Basketball

Played a lot of pickup for 3 years could at least play defense layup and finally had a little mid range…

  • Learn through cultivation and observation of a plant's responses.
  • Play with soil; dig deep, screen clay, compost, prepare mixes, etc.
  • Starting seeds indoor and outdoor, transplanting endlessly…
  • 3D print pulleys for managing lighting distance in indoor greenhouse.

Awards

  • Part of a team which built a location-based city resource aggregator for individuals living on the streets.
  • My role was "validation": walking around downtown engaging with people. It seems I am naturally approachable and a strong listener.
  • We came in the morning of day two and a hotshot on our team whipped it up on Firebase overnight.
  • We learned most people knew about a lot of the resources, but trying to get into a shelter to get a bed was often times impractical. You might hear about an opening but show up to find out it's full.
  • From there, we refined the idea to focus on bed reservation. However, we then learned from shelters that this is not so easy. People actually need to show up in person first for a shelter to do their own dilligence to take them in.
  • In the final demo, people were awed by the software that was built. But I think what won us the competition is when, after being silent, I snapped forward in response to a question and began talking about everything we learned from people on the street.
  • Lead team on building a PCB quote automation system. In our final demo, we were offered funding on the spot.
  • At the time I was working as an Electrical Engineer at Cinder Solutions and having to order a lot of boards.
  • As a naive engineer and trying to be frugal, I'd shop around… but my time usually never outweighed whatever discount I found or negotiated as a first time customer. It was essentially cost prohibitive to spend time comparing prices for a single prototype single quote.

Footnotes

1

Was pretty cool..! It slid on with no clamps needed! It was symmetrical and you could flip it over to do the other side without rotating the timber!

Wooden router jig fitted over the end of a timber beam with a cordless router resting on top