Portfolio.

Portfolio

Nomenhue

A small, beautiful instrument for discovering what a color wants to be called.

Live · GitHub

Nomenhue

Drop in an image and move your cursor across it. The entire page floods with the color beneath your pointer — not a flat fill, but pigment on a material: grain, a hue-tinted vignette, a warm lift in the darkest tones, all computed from the color’s own luminance. Click to choose a color, and it is named. Every color is matched to its nearest neighbor among 1,227 public-domain names from two naturalists’ color references. You can also request a fresh name and “Coin a new name” sends the hex and its nearest historical neighbors to GPT-4.1, which mints something new in the naturalists’ voice.

Built with

Vite · React · TypeScript · Tailwind · Self-hosted fonts · Bun server for the production /api/coin route

Patient Intake Pipeline

A simulated health clinic intake integration.

GitHub

A clinic drops a nightly CSV of patient records onto an SFTP server. The pipeline picks it up, normalizes every field at the boundary, validates each row independently, maps it to a FHIR R4 Patient, and posts it to the public HAPI FHIR sandbox. The failure modes are interesting: malformed rows route to a rejects file with per-field reasons instead of sinking the batch. Writes are idempotent through a conditional create keyed on the clinic’s medical record number, so posting the same nightly file twice creates seventeen patients and then zero. Mapping runs by default and posting is opt-in, so nothing reaches a shared server by surprise. Every run closes with a report: what was processed, valid, rejected, created, and skipped, and exits non-zero on failure so a scheduler can alert on it. 48 tests run offline against injected network and filesystem seams. All of the patient data is fake.

Built with

TypeScript · Node · Docker · SFTP · FHIR R4 · HAPI FHIR sandbox

Selected Professional Work

Most of my production engineering work was completed in private repositories. These case studies describe the systems I helped build, the problems I worked on, and the technical decisions involved.

Code is proprietary and the descriptions have been generalized.

Expanding Cyber-Risk Scan Coverage

Corvus’s cyber-insurance platform evaluated organizations’ publicly accessible infrastructure to identify vulnerabilities and inform underwriting and policyholder recommendations. One gap in the scanning process involved infrastructure discovered through MX DNS records, which identify the mail servers associated with a domain.

I worked across the platform’s Elixir services, PostgreSQL database, GraphQL APIs, and legacy Python integrations to incorporate MX-discovered assets into the scanning workflow.

My contributions

Outcome

The project expanded visibility into email-related infrastructure and gave underwriting and policyholder-facing systems a more complete picture of an organization’s external risk exposure.

Technologies: Elixir, PostgreSQL, GraphQL, Oban, Python, AWS

Building a Policyholder Security Survey

External infrastructure scans provide valuable information, but they cannot reveal internal security practices such as multifactor authentication, employee training, or incident-response preparation. Corvus wanted to collect this information while also giving policyholders another meaningful reason to engage with its application.

I helped design and build a configurable survey system within the policyholder platform using Elixir, Elm, GraphQL, and PostgreSQL.

My contributions

Outcome

The survey gave Corvus a structured way to incorporate internal security practices into its risk picture while creating a more engaging policyholder experience. It shipped as part of a broader set of product improvements after which active policyholder engagement increased by 50%.

Technologies: Elixir, Elm, GraphQL, PostgreSQL