2019
Blooming Junction
Garden center website built with WordPress and WooCommerce.
WordPress
2018
Amy Irvine
Wix-based site for the award-winning author of Desert Cabal and Trespass.
WordPress
2018
Anatomy
React on Rails for a Salesforce-connected business intelligence app.
React, Rails, Salesforce
2018
Joseph Art Walk
KnockoutJS app for tourists with info on the bronze statues on Main Street.
KnockoutJS, API Design
2018
Imnaha River House
Vacation rental site with an emphasis on photography, built with WordPress.
WordPress
2018
PTSD in the Body
Talk given at Toorcamp on Orcas Island, Washington, about recent body-based PTSD therapy approaches.
Conference, Mental Health
2018
Wallowa Wildlife
Prototype for a wildlife checklists app based on Flask and an SQLite3 database with OAuth login.
Flask, Python, SQlite3
2018
MyReads
React app using Udacity BooksAPI to track books I've read, want to read, or am reading.
React, API
2018
Rider-Waite Reader
Generate and interpret tarot card readings built with ReactJS and CSS Flexbox.
React
2018
Terrific Tree Frogs Message Board
React with Redux message board app which supports posts and comments.
React, Redux
2018
Flashcards App
Android app to manage and study flashcards, built using React Native.
Android, ReactNative
2018
Corvid Clicker
VanillaJS, Flexbox, and Google Fonts for a silly bird counting page.
VanillaJS, Flexbox
2017
CrazyCircuits Kits
Open source Lego-compatible circuit kits for kids and schools in KiCad.
KiCad, PCB Design, Production
2017
KiFisher
Python program to autogenerate printed circuit board manufacturing files and documentation
Python, KiCad, Automation
2017
Werewolf Films
Single static page dynamically generated by JSON and a Python module with OMDB API data. CSS grid to build a Masonry layout.
API, Python
2017
WMHCTA
WordPress-based site for a local Trailkeepers group to share forms and trip reports.
WordPress
2016
Wickerlib
Collection of open source parts and templates for KiCad.
Python, KiCad, PCB Design
2016
E202 VLF Receiver
Very low frequency (under 10kHz) battery-powered receiver in KiCad.
KiCad, PCB Design, Analog, Prototype
2016
Breakout Boards
Collection of open source breakout boards for components in KiCad.
PCB Design, Arduino
2016
Arduino Theremin
Shield uses a rangefinder to play notes. Supports touch and playback.
KiCad, PCB Design, Arduino
2016
OSH Park Docs
Support documentation site for the broader open source hardware community.
Technical Writing
2015
Open Source Your Circuits with KiCad
Talk given at Open Source Bridge in Portland, Oregon.
KiCad, Conference
2015
Making Stuff
Talk given at Evergreen School District's Robotics Tournament Keynote in Vancouver, Washington, to high school students considering engineering careers.
Conference
2015
MV-1400
Hardware design for the single sensor Max-Viz 1400, a lightweight, solid-state, low power, uncooled thermal camera.
PCB Design, Testing, Production
2014
From Prototype to PCB
Talk given at Open Source Bridge in Portland, Oregon.
Eagle, PCB Design, Conference
2014
Math vs Mathematics
Talk given at Open Source Bridge in Portland, Oregon.
Conference
2014
3G Cellphone
Adapting David Mellis' 2G Arduino Cellphone to a 3G module in Eagle.
Eagle, PCB Design, Prototype
2014
DxWifi Test Flight
Flight test capturing WiFi packets over 124km distance.
Operations, Field Testing
2014
Reflow Oven Controller
Custom Arduino shield with GUI for control of composites reflow oven.
Eagle, PCB Design, Arduino, Prototype
2014
EVS-600
Wrote video processing algorithms and embedded systems code, and went through FAA testing and certification.
Hardware Language, C
2014
Wickerbox Electronics
Business website with project portfolio and contact information, built with Jekyll.
Jekyll
2013
GPS RF Receiver
Board in Eagle to provide access to raw I/Q GPS data using MAX2769.
Eagle, PCB Design, RF, Prototype
2013
Image Processing Pipeline
Perform pixel-by-pixel convolution of 2D images in SystemVerilog and C.
C, SystemVerilog
2013
Temp Sensor Driver
Assembly to handle an interrupt and drive an LED.
ARM Assembly
2012
Digital Carb Sync
Arduino shield to synchronize motorcycle carburetors.
Eagle, PCB Design, Arduino, Prototype
2012
Quadcopter Control Board
LPC1343-based control board for autonomous quadcopter in Eagle.
Eagle, PCB Design, Prototype
2012
Skies of Dinotopia
Scraped a fan archive with permission and created a backup of fanworks.
Jekyll, Skeleton, Web Scraping, Python
2012
JennerHanni.net
Personal homepage with photos and writing, built using Jekyll and Github.
Jekyll, VanillaJS, CSS Grid
2012
L2 Cache Simulation
C simulating a write-allocate, MESI protocol, 4-way set-associative cache.
C, L2 Cache
2012
Text to Speech Driver
Assembly to turn text into speech with a RC8660 synthesizer chip.
ARM Assembly
2011
Endian Swap
Simple ARM assembly to receive a Big-Endian packet and provide a Little-Endian output.
ARM Assembly