Justin Hall


Hi, I'm Justin.

I'm a software developer with an affinity for the web, dedicated to crafting great user experiences with proven technologies like React, Node.js, and SQL.

While I've used a wide variety of different languages, tools, and frameworks, my current favorites include: TypeScript, Remix, Tailwind CSS, Prisma, XState, Vite, Vitest, Playwright, ESLint, Prettier, Docker, and Git.

Check out some of my work:

A screenshot of the drinks.fyi home page displaying a list of cocktails


Progressive Web App to showcase your favorite cocktails. Powered by a Contentful headless CMS.


A picture of the statechart that drives core functionality of the StatVol application


Statechart-driven static web application to replace a critical business process that was lost during a vended software transition.


A screenshot of a GraphQL Playground instance showing the schema documentation for the Master Provider Index API

Master Provider Index API

Custom-built GraphQL API to expose detailed information for all in-network locations and care providers in the Saint Alphonsus Health System.

GraphQLApolloNode.jsNGINXSequelizeMicrosoft SQL

A screenshot of the OfferCalc web application


Human Resources application for calculating initial offers to new hires based on a variety of contributing factors fed in from multiple external systems. Features a powerful but intuitive user interface.

ReactBootstrapWebSocketsHTTP APIMicrosoft SQL

A screenshot of the hibp web site


A library providing an unofficial TypeScript SDK for the Have I been pwned? service. Available on the server (Node.js) and in the browser.


A screenshot of a terminal displaying output from a pwned command


A command-line tool for querying the Have I been pwned? service. Explore breach data, search for your email address, or check if your favorite password has been exposed.


A screenshot of the pwned app displaying the analysis of an example password

Password Lense

Certain characters in passwords ('O' and '0', 'I' and 'l', etc.) can be hard to identify when you need to type them in (and copy-paste is unavailable). Password Lense is a small web application that provides a quick and secure way to get a more informative view of your password.


A screenshot of the Hand Hygiene web application

Hand Hygiene

Azure-native web application to replace a vended solution for tracking proper hand hygiene in a healthcare setting.

ReactRemixBootstrapAzure SQLDocker

A screenshot of the Meetup Raffle app landing page


Progressive Web App and underlying AWS Lambda function for selecting a raffle winner at a Meetup event.

ReactRemixTailwindMock Service Workeresbuild

A screenshot of the Snack playground for the react-native-responsive-image-view library


React Native custom hook and render-prop component for scaling an Image within the parent View.

React Native

A screenshot of the Saint Alphonsus app, framed in a mobile device

Saint Alphonsus Mobile App

Cross-platform mobile app for locating in-network care providers and facilities within the Saint Alphonsus Health System.

React NativeExpoGraphQLApolloAlgolia

A stock image of generic, minified JavaScript code

URL Shortener

HTTP API and administrative front-end (for submissions and analytics) designed to shorten long URLs using a custom, branded short domain.


A blurred screenshot of the Saint Alphonsus intranet landing page

SharePoint 2013 Intranet

A highly customized intranet platform and communication tool supporting approximately 10,000 users built upon SharePoint 2013.

SharePoint 2013C#ASP.NETRESTJavaScript