Software Development

Fish Classification

In collaboration with a study on fish passage through hydro power turbines I prototyped a system to streamline logging of several thousand fish strike high speed videos.

A video editing application, python scripts, and custom web app allowed a user to compute strike location with a minimum number of clicks.

python
FFMPEG
javascript
autohotkey

Natel Photo Archive

Working as a photo archivist I took over 200,000 photos of turbine product development over the course of 6 years. To keep this history alive, I created an internal application to display photos on a timeline.

The application used Wordpress as a building block in combination with Smile Widgets' extensive timeline visualization project.

A custom photo grid view synced with the timeline and provided a visual summary.

wordpress
javascript
jquery

Turbine Project Calculator

To encourage interest in a new linear hydro power turbine product, I designed and developed an application to calculate hydro power potential given simple site inputs such as drop hight and water flowrate.

The calculation output included 3D rendered images of products as well as a pre-populated sales inquiry message. In initial versions of the calculator I worked with mechanical engineers to port Matlab code to javascript. Later versions made calls to an internal hydro power development tool api. Calculations could be performed in both Metric and English units, and error messages guided customers away from incorrect turbine configurations.

javascript
angular js
matlab
email

Algorithm Visualizations

As a computer science student I created a series of algorithm visualizations using D3 and a custom code logging system. The algorithms included "Prims's Algorithm", a "Priority Queue", and "Binary Sort".

Each line of code logged the algorithm state to a list. A D3 visualization took these states and displayed them, while also interpolating between states. Graphical controls allowed a user to navigate through a visual timeline of code execution and replay events.

view
javascript
D3
algorithms
data structures

CMS Site Development

I've created new websites and refurbished old ones.

With Wordpress and its large library of plugins I've customized blogs and created full featured product sites. With modern systems like Node.js based "11ty" I've refactored old code and migrated content. I've also debugged, improved, and documented old Wordpress and Expression Engine sites.

wordpress
php
javascript
node js
expression engine
11ty
mysql