To achieve my research goals, I develop software. This includes web-based tools for interactive visualization, as well as many utilities that solve common problems that have arisen in my work.

I have created the following open-source tools and utilities.

  • use-coordination: Library that enables visualization developers to implement coordinated multiple views in React-based visualization systems.
  • pizzarr: R package for reading and writing data in Zarr (v2) format.
  • esbuild-py, esbuildR, and oxc-py: Bindings to esbuild and oxc, enabling transformation of JSX to JS and thereby usage of JSX without NodeJS (e.g., during AnyWidget development).
  • dynamic-importmap: Rewrite bare import specifiers at runtime in the browser. Enables usage of importmaps in contexts such as AnyWidget.
  • anyhtmlwidget: Brings core concepts from anywidget to R.
  • miqc-py: Python implementation of miQC: probablistic quality control of scRNA-seq data.
  • qdpx-to-json: Convert QDPX files (exported from qualitative coding software such as AtlasTI) into JSON and PNG files.
  • higlass-zarr-datafetchers: Plugin data fetchers for HiGlass, supporting visualization of Zarr-based files located in object storage systems.
  • hd-vis-scripts: Scripts for bibliometric analysis of literature which cites dimensionality reduction method papers.

I have contributed here and there to open-source projects led by others.

  • viv: JavaScript library for loading and rendering OME-TIFF and OME-Zarr bioimaging data using WebGL
  • zarrita.js: JavaScript library for reading data in Zarr format
  • anywidget: Abstraction for streamlined creation of Jupyter widgets that support all notebook environments.
  • higlass-bigwig-datafetcher: Plugin data fetcher for HiGlass, enabling visualization of BigWig files.

Prior to my experiences developing software in academic research settings, I worked as a software engineering intern in the financial and defense sectors. Together, these experiences taught me best practices such as agile methodologies, continuous integration and deployment, unit and integration testing, cloud services, industry-standard frameworks for user interfaces and documentation, and information security. I bring this expertise to my current research software engineering efforts, and I continue to grow my skills through close collaboration with other engineers and those in adjacent roles, such as UI/UX designers, in the HIDIVE Lab, in nearby labs at HMS, and in collaborating organizations.

See more of my open-source activities and contributions on GitHub.

software demos

Segmentations and pathomic features in Vitessce
Segmentations in Vitessce, alternative example
Segmentations in Vitessce, in KPMP Atlas
Demo of SpatialQuery plugin for Vitessce
Demo of comparative visualizations in Vitessce, using KPMP data
Polyphony demo
SpatialQuery, alternative demo
Vitessce demo - scATAC-seq
Cistrome Explorer demo
Vitessce in KPMP Atlas, 10x Visium demo
Vitessce in SenNet portal, histology image demo
Vitessce demo, smFISH example
Vitessce demo, lightsheet microscopy volume (3D imaging) example
Vitessce Jupyter widget demo, Python notebook environment example
Vitessce demo in HuBMAP Portal
Vitessce demo, MERFISH prototype
ExploSig Workflows
ExploSig - Reproducing results from Kim et al. Nature Genetics 2016
ExploSig-Connect