Portfolio
Recipes
Minimalist recipe app.
Allows importing recipes from websites and editing.
Sitedown
A service that alerts you whenever a web page goes offline or comes back online. Login is handled without passwords by sending a one-use login token to the provided email address. The user may then enter a list of urls to be monitored, and receive email alerts when their status changes.
The entire site is friendly to browsers that have JavaScript turned off. As a result it also works well with low-powered mobile browsers including Opera Mini.
The server is written in Node and uses the Mailgun API to send emails to users (both for login, and URL status alerts).
Minimap
GithubA sort of chat room for locations. You'll see yourself on a map along with anyone else in your room.
Play urban tag. Keep track of your team in nerf battles. Find your family members at the fair.
Built using Node on the server side. React/Redux on the client. The Google Maps API provides the map on which locations are displayed. Websockets keep data synced between the server and clients.
Roman's Pizza
GithubSmall business website for a local Pizzaria.
Features responsive design for easy viewing on any device.
Online ordering capable.
Embedded schema.org datatypes inform search engines of business hours and contact information
Rain App
GithubA simple web app for listening to relaxing sounds including rain, thunder, wind, campfire, and crickets. Intended to be used on mobile devices, it includes a web app manifest for easy installation to the home screen, and a service worker to cache the sound and asset files for offline use. This also ensures that after the initial download, data usage is negligible. A previous version used IndexedDB to store pre-loaded audio.
Podcast Player
GithubPodcast playing web app that works offline and allows downloading of episodes for offline listening.
Conveniently syncs current place and bookmarks between your devices.