Hey 👋, I’m Jason.
I am a technologist and computer geek.
I work at Repeat as a Senior Software Engineer.
I have been developing for the web since 2007. I’ve worked on everything from terrible old-school spaghetti 🍝 monsters, to MVC frameworks, to tested domain-driven applications. Early on, I was developing traditional server-rendered PHP applications. These days, I really enjoy full stack TypeScript.
I have professional experience building modular, horizontally scalable applications.
If Iām not hanging out with my amazing wife and pup, I am most likely learning a new language or practicing software architecture design patterns.
Fun Projects:
- → š typescript-oauth2-server - A standards compliant implementation of an OAuth 2.0 authorization server for Node that utilizes JWT and Proof Key for Code Exchange (PKCE), written in TypeScript.
- → š¼ļø url-to-png - Selfhosted. Dynamic screenshots for the web over a simple http api
- → š promise-watch - An Api/E2E monitor that runs promises on intervals and sends notifications on errors.
- → š§ traverse - Desktop app for explore trending GitHub repos (Mac OS/Linux)
- → šØļø Printables - A collection of models and random things to 3d print
- → š¼ restforce-php - PHP API client library for Salesforce
- → š eventfarm/go-sdk - A Golang API client library for the Event Farm API
- → š zod-friendly-forms - Parse forms with ease using Zod and get user-friendly error messages or valid typed data, compatible with any framework on both server and client side.
- → š» dotfiles - MacOS Dotfiles. Maintaining your machines config in git is š„. Using Stow to handle the dotfiles is š„š„. Utilizing Brew, Prezto, ASDF, and Ubersicht.
- → šļø browser-storage - An abstracted storage library for browser applications that interfaces with localStorage, sessionStorage, in-memory storage, or any custom serializer.
- → š playwrite-browser-pool - A template repository to spawn playwright browsers in a generic pool. For science.
- → š¦ nestjs-axios-promise - A thin wrapper around Axios for Nest.js using Promises, because the @nestjs/axios package returns an observable.
- → šØ postcss-custom-media-generator - Generates mobile first `@custom-media` rules from a configuration object.
- → š§© prisma-generator-nestjs-graphql - Generate @nestjs/graphql entities with typesafe constructors and create/update inputs.
- → š svelte-notify - A Svelte-based toast system: NotificationService class with success, info, and error methods. Time-based auto-disappear, no dupes āØš®
- → š eventfarm/javascript-sdk - A TypesScript API client library for the Event Farm API