Hi, I'm Kennan.

The Essentials

Hey, I'm Kennan!


I recently graduated with honors in Computer Science from Case Western Reserve University, where I'm continuing my studies as a graduate student.‚Äč I started programming on calculators with TI-BASIC back in high school, and I've been addicted ever since. Outside of my studies, I'm an avid cyclist, musician, linux enthusiast, and speedcuber.


I work on graduate research in the CWRU Department of Computer and Data Sciences under Dr. Soumya Ray. My work investigates knowledge propogation through networks in multi-agent learning systems, and aims to develop dynamic optimization methods to improve overall network performance.


After graduation, I'm transitioning to full time work on Software Engineering and Data Science at the Johns Hopkins University Applied Physics Laboratory, where I do work on machine learning research for DNA threat classification and full stack software engineering with Angular and Spring.

Work Experience
CWRU Department of Computer and Data Sciences
Teaching Assistant, September 2020 - September 2021
Classes: CSDS 440: Machine Learning, CSDS 391: Introduction to Artificial Intelligence, CSDS 343: Theoretical Computer Science
  • Designed and graded course assignments and exams
  • Taught supplementary lectures to reinforce course material
  • Hosted weekly office hours to answer questions and provide feedback on theoretical written work and programming assignments
Machine Learning Reinforcement Learning Bayesian Networks Theory of Computation
Johns Hopkins University Applied Physics Laboratory
Machine Learning & Software Engineering Intern, April 2020 - August 2020
  • Designed random forest, Bayesian network, and deep learning models for viral and bacterial threat classification using Scikit-Learn, Tensorflow, and Keras
  • Implemented a data processing pipeline using dna2vec to perform feature extraction and dimensionality reduction from sequenced DNA
  • Contributed to a large scale Angular application to provide an online learing approach to automated document tagging and classification
Python Machine Learning Tensorflow dna2vec
Johns Hopkins University Applied Physics Laboratory
Software Engineering Intern, May 2019 - August 2020
  • Worked in a Kanban development environment to quickly and effectively produce thoroughly documented, tested software for contract sponsors
  • Contributed to an Android application written in Java and Kotlin to implement an attachment cache mechanism, reducing form upload time by as much as 75%
  • Developed a web application with spring boot backend, Angular frontend, and Selenium unit tests, utilizing an internally designed UI library to deliver Elasticsearch social media analytics
Java Kotlin Angular Typescript Selenium
Agriplex Genomics
Software Engineering Intern, September 2018 - May 2019
  • Developed a job scheduling application from scratch in Angular and designed an algorithm to optimize job scheduling to increase data throughput.
  • Designed a Postgres database model to store jobs and their associated data, and built a corresponding REST API to allow application interaction.
  • Created an Amazon AWS management server to create and destroy EC2 instances to efficiently allocate funds and expedite job processing.
Angular Typescript Postgres AWS
Projects
System
Stars: 79, Forks: 14
Declarative system configurations using nixOS, nix-darwin, and home-manager
darwin dotfiles flake home-manager lua nix nixos python shell vim vim script
TMobile ISP Client
Stars: 12, Forks: 2
mobile friendly, self hosted status dashboard for T-Mobile ISP routers
css daisyui dockerfile html javascript svelte sveltekit tailwindcss typescript
Portfolio
Stars: 1
personal website and project portfolio written with typescript, svelte-kit, and tailwind CSS
css html javascript svelte sveltekit tailwindcss typescript
Nix Server Config
Basic server configuration using Nix and home-manager to manage local user environments.
home-manager linux nix nixos shell vim script
Lung Tumor Classification
DICOM Slice classifier with transfer learning via ResNet50 with ImageNet weights
keras medical-image-processing python tex transfer-learning
RegistrationBot
Automating course registration because waking up at 7:00AM is just plain cruel.
nix python selenium shell
Technologies I Use
Python
Scikit-Learn
Tensorflow
Keras
NixOS
Bash
Awk
TypeScript
Javascript
Angular
Vue
Svelte
HTML
CSS
Java
Kotlin
SQL
Scheme