Technology: React, TypeScript, React Hooks, Recoil.js, MobX

App for users to play sudoku puzzles, including a solver which produces human-friendly techniques and hints on how to solve almost any puzzle. Future development plans include building a mobile version, implementing more techniques, a Computer Vision tool to allow users to import a picture of a board, and more.

Early 2019
Technology: React, TypeScript, D3.js, Python, Flask, MongoDB

A tool built to help analyze/visualize irregularities or patterns across a genome. Conceptualized as a tool to help a friend of mine with a piece of his Ph.D.

Site Builder        CivicPlus
Late 2019
Technology: UX Design, React, MobX

User friendly, WYSIWYG site builder to enable non-technical designers the ability to build websites (similar to Wix or Squarespace). Designed the UX and built a proof of concept with drag-and-drop components and in-browser editable styling similar to the Photoshop tools they were accustomed to.

CivicPlus Toolkit
Mid 2019
Technology: JavaScript

A toolkit I built which introduced time savings of 12-16 hours per week for the webdev team at CivicPlus. A key force in eliminating the need for my initial role.

CivicPlus Imports
Early 2020
Technology: Node.js, MongoDB

A tool built to automate the import, validation, and cleaning of data from external providers. For the initial clients, this tool handled nearly half a million records and eliminated several hundred hours of manual data cleaning.

Historical weather scraper
Late 2019
Technology: Node.js

Data scraping tool built as an initial data source for a research project through Kansas State University. I utilized a public Taiwanese website that rendered graphical representations of historical monthly weather data from several hundred weather stations (for 15 years of data, over 140,000 individual files). The data source had no bulk download available and the data was rendered on the server-side into HTML charts. The combination of being written in a foreign language, having to parse and convert data out of raw graph nodes, and scraping 140k individual files made this an enjoyable project to solve.

Early 2019, Present
Technology: React, Golang, DynamoDB

This is a gigantic personal research project to study the field of authentication and authorization across the web. My goal is to learn about and build a compliant implementation for SSO (Single Sign-On). I would never use this in a truly secure context, but learning about the intricacies of the security flow provides a lot of insight into how things work.

Email Handler
June 2020
Technology: AWS Lambda, API Gateway, SendGrid, Node.js

Simple API endpoint to send myself email programmatically. Written in Node.js, hosted in AWS Lambda, and HTTP triggers in API Gateway. Email sent using Sendgrid API.

Dec 2016, Apr 2017, Dec 2018
Technology: Python, GitHub API, OAuth

Built a comprehensive script to find, generate, and upload SSH keys to your user account in GitHub, identifying and prompting for two-factor auth if appropriate. I frequently use this when setting up new machines and new accounts. Multiple iterations. Using Bash, Python, GitHub API, and OAuth.

Technology: UX Design, Figma, React, TypeScript, MobX

Designed the UX for a dashboard to manage automated screenshots of various reports. View design here.

Technology: Python, Dropbox API, various Bash tools.

Clone of Dropbox functionality to support Linux devices to be able to select a screen region, capture a screenshot, and copy a shareable URL to your clipboard.

Technology: Node.js, create-react-app

Semi-fork of popular create-react-app toolkit, built in a way to provide my own personal ideal development environment for React projects. Introduces TypeScript, MobX, Prettier, a folder structure, and more. Use by running npx @jman.me/create-react-app [MyProjectName]

Dec 2016, Apr 2017, May 2018
Technology: Ansible, Bash, Python

This project is a tool to automate the re-setup of a new Linux development machine. Implemented using Ansible and Python, this tool re-installed global dependencies in a consistent format which would not conflict for any future installs. Multiple iterations over time adding more functionality and different install types.

Early 2019
Technology: JavaScript, Canvas API

Project to learn about game programming algorithms such as AABB collision, rendering, and more.