Projects
Gardener's Multi-Tool
A four-function device to help gardeners get the most out of their plants
My role
I served as the sole developer and managed all aspects of the project.
Problem
I wanted to create a unique tool for my wife to help with her gardening as a holiday gift.
Solution
I started by doing some research on the most important conditions that affect the health and growth of plants. I settled on making a four-function device that measures soil moisture, air temperature, humidity, and ambient light. I started with an Arduino Uno microcontroller as the core of the device, and found appropriate sensors to measure the various parameters. After using a breadboard to prototype and program the device, I engaged in a healthy amount of "experimenting" with solder. After refining my soldering technique, I was delighted to find myself with a working, custom-built gardener's multi-tool!
Steven Klein
Enhancing a photographer’s online storefront
My role
I worked with the client to customize and build new functionality for their Shopify site.
Problem
The client had recently opened a Shopify store and wanted the ability to list items as “inquire only” and avoid disclosing their prices.
Solution
Building an additional product template allowed us to decouple regular and “inquire only” items to build two different user experiences. Normal items continue using the traditional cart and checkout experience, while “inquire only” items lead towards a custom hyperlink that prepopulates an email with the description and SKU of the item of interest. Careful use of JavaScript DOM manipulation and the Liquid template language enabled removing unwanted price displays across the site.
Community Church of Syosset
Revitalizing a church’s presence on the web
Technologies
- Contentful
- Gatsby
- Google Maps API
- GraphQL
- Netlify
- React
- Styled Components
- TypeScript
My role
I served as the sole developer and managed all aspects of the project.
Problem
A church needed a modern, easy-to-use replacement for their aging website, with an emphasis on encouraging first-time contact and in-person visitation.
Solution
A new, mobile-first, responsive design using Contentful as a content management system. Call to action buttons push users towards visitation and contact. Template-driven pages for events, sermons, and image galleries with dynamic pagination keep the site easy to maintain for the organization.
Abigail & Nathaniel
Collaborating to create a stunning wedding website
Technologies
- Bootstrap
- Express
- Gatsby
- GraphQL
- Heroku
- Jest
- MongoDB
- Netlify
- NodeJS
- React
- Sass
- TypeScript
My role
I collaborated with a designer who provided wireframes and art assets.
Problem
The creation of a wedding website. The client desired a countdown, photo galleries, and convenient access to information regarding accommodations, travel arrangements, and other services surrounding the wedding.
Solution
A single-page scrolling site featuring full-screen background images. A responsive mobile experience was created via graceful degradation of the designer’s wireframes, which were envisioned for a desktop device.
RSVP server
An RSVP server was later added to handle electronic RSVPs after the wedding had a change of date.
C2 Auditing Tools
Detecting drug diversion in a hospital
Technologies
- Bootstrap
- Electron
- Express
- Heroku
- Jest
- NodeJS
- PostgreSQL
- React
- Redux
- Sass
- Sequelize
- SQLite
Special mention
This is the project the inspired me to pursue programming in earnest and has a special place in my heart. Working as a data analyst in a hospital pharmacy, I had devised a process to detect narcotic diversion that leveraged data from several discrete sources. Initially implemented in Excel, the process worked but was horrendously clunky and slow as it operated with quadratic time complexity. Experiencing this limitation drove me down the path to programming.
My role
I served as the sole developer and managed all aspects of the project.
Problem
A hospital was using a time-intensive manual review process to investigate controlled substance diversion. The review process took two weeks to complete every month.
Solution
A desktop application deployed to a secure network drive to ensure safe use of protected health information. Data is parsed from reports and imported to a SQL database. The application takes user defined search parameters and creates a ledger that traces the controlled substance chain of custody from withdrawal to administration or other disposition.
The controlled substance auditing process for the hospital is now completed in less than an hour each month.
Web client
A web client using a REST API and sample database was later created for demonstration purposes.
Cytoxan Label Maker
Promoting patient safety in oncology pharmacy
My role
I served as the sole developer and managed all aspects of the project.
Problem
An application that a hospital pharmacy depended on to make outpatient medication labels was being sunset by the health system. This left the oncology pharmacy team without a way to create labels for chemotherapy medications used by off-site clinics.
Solution
A desktop application developed as a specialized iteration on the earlier Study Drug Label Maker. Medication volumes and expiration dates are automatically calculated from user input and formatted according to best practices in medication safety.
Web client
A web client using was later created for remote use and demonstration purposes.
Study Drug Label Maker
Creating a modern, timely replacement for deprecated software
My role
I served as the sole developer and managed all aspects of the project.
Problem
An application that a hospital pharmacy depended on to make outpatient medication labels was being sunset by the health system. This left the research pharmacy program without a way to create labels for study drugs.
Solution
A desktop application that allows users to create a variety of label types suited for different medication products. Prescription numbers and dispensed date are generated automatically to expedite the workflow.
Web client
A web client using was later created for remote use and demonstration purposes.