resumé
data visualization & web application engineer
test-driven, CI approved
technical skills
highest proficiency
the vast majority of my work and side project time employs these skills
JavaScript & TypeScript
- single-page apps with React and related tools (React Router, Jotai/Zustand, etc.)
- interactive data visualization with D3 and/or D3-wrapping React libraries (e.g., visx), rendering in SVG or Canvas
- UI and data visualization animation with CSS3, D3 transitions, various React animation libraries, and Rive
- lightweight Node servers (via Express and similar frameworks)
- unit testing (vitest, Jest, react-testing-library); end-to-end testing (Playwright)
HTML & CSS
- compliance with web standards and WCAG 2.* for accessibility
- experience with major CSS preprocessors (e.g., PostCSS), modularity and componentization solutions (e.g., 💅 styled-components), and TailwindCSS
other
- version control with git & GitHub (or similar git host)
- data layers in Apache Druid (native queries + DruidSQL, basic data ingestion)
other areas of experience
skills I practice only occasionally or practiced in the past
JavaScript & TypeScript
- interactive Node.js CLI tools using Inquirer.js
- library authoring and packaging via Webpack or rollup
- WebGL visualization via Three.js
Python
- scientific computing with SciPy, pandas, &c
- natural language processing with NLTK
R
- statistical data analysis
- data visualization with ggplot2
noteworthy projects
internal-use React component library at Stitch Fix
designed and led development of a library of React components for internal use within Stitch Fix's Algorithms department. the components handle data fetching and storage from and to Algo's shared data warehouse and other internal services and allow for fast and newbie-friendly app development across the department, where our “full stack” data scientists and other data platform engineers are, for the most part, not proficient with web development or React.
rappstar and other CLI tools at Stitch Fix
designed and led development of a wizard-style CLI wrapper around create-react-app (CRA) to facilitate quick and beginner-friendly app development by data scientists and fellow data platform engineers. the tool customizes the output of CRA to include internal dependencies and configuration. other CLI tools include a script for building a CRA app and pushing the result to an S3 bucket set up for static web hosting.
data visualization at Tidepool
led initial development of Tidepool's data visualization libraries tideline and @tidepool/viz. both libraries employ React and D3 to implement UI components for interactive data visualizations in Tidepool's main web application "blip" as well as utilities for data (pre-)processing and on-the-fly calculation of a variety of statistical measures.
Redux migrations at Tidepool
led the migration of Tidepool's uploader (a Chrome app) and blip (a web application) to use Redux for state management, vastly increasing test coverage for both applications in the process.
“bootstrapping” to UTC at Tidepool
designed and implemented (in the Tidepool uploader) an algorithm—dubbed “bootstrapping to UTC.” the algorithm infers the UTC timestamp from device-relative display timestamps on diabetes devices. for more information, refer to the technical documentation or the less technical blog post explaining the feature.
PHL+ to Work for the 2013 apps for Philly transit hackathon
member of the winning team at the 2013 Apps for Philly Transit Hackathon. our project 'PHL+ to Work' (code on GitHub) provides a visual interface (built with D3 and Leaflet) for searching American Community Survey data connecting locations (specifically census tracts) where residents of the greater Philadelphia area live to the locations where those residents commute to work.
Annotald at the University of Pennsylvania
contributed to Annotald, a WebKit browser-based GUI annotation tool for constructing large corpora of syntactically annotated sentences in the Penn Treebank format used by researchers in the University of Pennsylvania's linguistics department as well as at the University of Iceland, Newcastle University, and the University of York. my contributions included a refactoring of the CSS to allow users to define a customized color theme as well as helping to design and implement the limited display mode.