All posts

Projects

A few of the projects I have worked on.

The following is a collection of projects I have worked on in the past for both university, current, and past jobs. Any source code that is publicly available can be found on my GitHub or my GitLab.

01 —Personal

Portfolio (this site)

Personal · HTML, CSS, JavaScript

I created a website to hold portfolio items like this, my resume, as well as create “blog-like” posts to keep track of my own personal development. Earlier versions were a Markdown-based blog built on Next.js; this one is plain HTML, CSS, and JavaScript, with no framework and no build step. The site is open-source, viewable on GitHub if you would like to look through the code.

Wedding Homepage

Personal · owen2moen.com

I created a website for the wedding of myself and my incredible, super awesome fiancée Avery Owen. It links to our RSVP system, hosts a page for our registries, and displays a gallery of images on the homepage. Feel free to view it at owen2moen.com. Source code is here.

02 —University

Over my time at university, I had the privilege of building a number of interesting projects:

Bot or not: modeling HTTP traffic to classify humans and bots

University · Machine Learning and Computational Modeling

Data Collection Site ↗Paper ↗Source Code ↗

For my Machine Learning and Computational Modeling course, I chose to create a bot detection middleware for Python Flask applications (the goal of which was to generalize into an API or SaaS). It takes some metadata about an arbitrary request and attaches it to an identifiable ‘session’ (collection of requests from a ‘user’), and gauges whether or not the session is associated with a bot or a real human.

Senior Design Projects

University · Senior Design

During my senior year, I had a required course called Senior Design, with its goal to demonstrate the knowledge gained over the course of one’s time at George Fox. Some of the projects we worked on are discussed below — and in much more depth in my capstone write-up.

VineViewer, an image quality and integrity checker

Coming soon

Rover Hardware

Coming soon

Rover Software

Coming soon

GFU Engineering Project Ideation Commission

University · Servant Engineering

This website is for my Servant Engineering project during my third year at Fox. We created a workflow and set of resources for teachers at a local high school to submit project ideas and have us create what they had envisioned. Feel free to view it at gfuprojects.com. The source is located here.

HansenLite compiler

University · Java → ARMv7

I wrote a compiler for the HansenLite language, created by Dr. David Hansen of George Fox University. It targets the ARMv7 assembly language, is written in Java and located here.

03 —Work

AWS GuardDuty Alert and Auto-remediation System

Work · E&J Gallo Winery

I developed an alert and auto-remediation system powered by AWS GuardDuty, a threat detection service powered by machine learning. Personnel are notified via Microsoft Teams and compromised resources are contained or disabled when GuardDuty detects a new Finding, all in real-time. Implemented with Lambda, SQS, CloudFormation, Secrets Manager, and some vendor APIs to facilitate remediations.

Client Dashboard

Work · Simple Monitors

I built a dashboard for Simple Monitors clients to manage their webhook configurations, authentication, and release channels. It leverages HTML/CSS/jQuery and is served by a simple Node.js application and it runs on a simple Heroku configuration.

Web Scraper Administration Dashboard

Work · Simple Monitors

I built a dashboard for internal management of sites and products monitored by our web scraping platform. Each site ‘platform’ has a dedicated page to display its active configurations and perform C.R.U.D. operations.

Scalable Web Scraping Platform

Work · Simple Monitors

The management dashboard would hold very little value without the scraping platform itself. I created a fully distributed scraping platform to monitor product additions and restocks. The platform is backed by a Kubernetes cluster and leverages technologies like Redis, an MPI-like layer on top of Redis, and various Node.js microservices.

Database REST API

Work · Simple Monitors

I built a REST API for accessing our database configurations. It supported JWT and API key authentication and scope-based access for those using JWT to access (our admin dashboard). I used TypeScript and MongoDB as the primary technologies for this project, and it was hosted on a multi-node Heroku application.

HTTP client for TLS spoofing

Work · Simple Monitors

I designed an HTTP client that allows for spoofing of TLS Client-Hello packets. These initial packets are used in many bot protections and allowed for fine-tuning of our scrapers to look like authentic browsers, even past a User-Agent modification. The library was written in Node.js and bootstrapped to a Go program that facilitated the network requests.

Grafana Implementation

Work · Simple Monitors

I implemented Grafana and Prometheus to get live stats on our distribution pipeline and overall Kubernetes cluster health. Below is an abbreviated view of the dashboard I created.

Grafana dashboard showing distribution pipeline and cluster metrics
Grafana dashboard
Last updated