About Me
Hi, my name’s Hayden and I’m a software engineer. Most of my experience is in full stack mobile and web application development.
My top skills are Functional Programming and Matching Parenthesis
Experience
Tech-Enabled Gig Economy for the Hospitality Industry
- Full stack Web and Mobile development with a React / React Native front end consuming a GraphQL API, backed by a ReasonML eventing/job system and a PostgreSQL database.
- Empowered Marketplace Ops, building tools to activate churned users.
- Entrusted with on-call prod support shifts, code review, hotfixes.
Software Engineer I
Jan 2022 - Dec 2022
- Delivered a W2 MVP on a squad of 3 devs in 2 months, enabling new enterprise clients to use the platform compliantly.
- Rebuilt legacy p2p referral payout system using the Stripe API, reducing fraud and tech debt.
Agile Goal Tracking and Task Management App
- Conducted user research, tests, and experiments.
- Researched technologies and decided on a cross-platform Flutter / Dart mobile app backed by Firebase Cloud Firestore.
- Led a student team of 4 devs and 1 designer during implementation. Pulled my weight and more.
Insurance Technology Focused on Advisors
- Programmed automated end-to-end tests on an Agile QE team.
Education
Projects
Musical programming language
Wrote the specification and implementation of a Compiler for a Solfège-oriented music PL optimized for writing instrumental quartets. Features MIDI transpilation and instant audio playback. Implemented as a Racket (Lisp) module language.
Tic-Tac-Toe for try-hards
Haskell implementation of a souped-up, 2-player NxN dimensional tic-tac-toe game. Features an HTTP server that tracks the results of every game ever played on all client instances, thereby immortalizing each glorious victory and shameful defeat!
CSP-solver strategy bot
Plays the pure-strategy board game Santorini. The bot can play against other bot instances, logging the progress of the game with printouts until a winner is reached. Written in Racket (Lisp).
Probabilistic NLP bigram and unigram models
This Natural Language Processing project uses training text to create, unigram (no smoothing), bigram (no smoothing), and bigram (add-one smoothing) language models. The program allows the user to estimate the probability of any given string string under the language model(s) generated by the training data. Implemented in Python.
Data visualization for Google Takeout location data
Data Analysis project written in Python that visualizes location data from Google Takeout. The user inputs a file path for downloaded JSON Google Takeout location data and the coordinates for places of interest to see an analysis of time spent at those locations.
Visualization for markdown wikis
Python script that generates an image of a directed graph, representing the structure of a markdown wiki.
A Little More About Me
Alongside my interests in programming languages and tech some of my other interests and hobbies include, piano, travel, philosophy, patristic theology, language learning, and zettelkasten.