Skip to content
View wjmallard's full-sized avatar

Block or report wjmallard

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
wjmallard/README.md

I'm a scientist and engineer with 20 years of experience building systems for real-time signal processing, genomics, computational biology, machine learning, and computer vision. Here are some of the things I've built over the years.

My full portfolio, including publications and earlier work, is at wjmallard.net.

Computational Biology

During my PhD at Harvard, I built machine learning pipelines for protein structure analysis, and computer vision pipelines for live-cell microscopy.

  • alphafold-contact-clustering (2025) — AlphaFold ensemble analysis: construct contact maps via K-d tree, identify protein binding modes via unsupervised clustering (Python)
  • MeshCell (2020) — Computer vision and computational geometry pipeline for automated analysis of cell size and shape (Python)
  • z-ring-treadmilling (2022) — Particle tracking and motion analysis: trajectory extraction, MSD fitting, velocity estimation (Python, Fiji/Jython)
  • z-ring-constriction (2023) — Time-series image processing: calibration, registration, object tracking, constriction rate measurement (Python, Fiji/Jython)
  • PyLSF (2013) — Python C extension for HPC cluster job management via the IBM LSF API (C, Python)

Real-time Signal Processing

Before my PhD, I spent several years at UC Berkeley building FPGA-based astronomy instruments, and contributing to CASPER, an open-source signal processing platform used by observatories around the world.

  • isi-digital-backend (2010) — 138 Gbps FX correlator on 3 Virtex-5 FPGAs, for the Infrared Spatial Interferometer at Mount Wilson Observatory (Simulink, C, Python)
  • gpu-xengine (2026) — GPU cross-correlator for a 3-telescope interferometer (CUDA, C++)
  • xgb_recv (2008) — 10 GbE UDP receiver with synchronized ring buffer; core architecture adopted into PySPEAD, the data transport layer for the Square Kilometre Array (C)
  • CASPER library commits (2008) — 60+ commits to the CASPER FPGA library (Simulink, Matlab)

Data Archaeology

Since completing my PhD, I've been building full-stack tools to archive and explore my own data — personal projects I never had time for in grad school.

  • claude-conversations (2026) — An offline browser and search engine over an archive of exported Claude conversations. (Python, PostgreSQL, Flask)
  • twitter-screenshot-archive (2026) — Search engine over Twitter screenshots. OCR ingest pipeline, full-text and semantic search (pgvector), MinHash near-duplicate detection, PCA/HDBSCAN topic clustering, temporal analysis, and an MCP server for LLM tool use. (Python, PostgreSQL, Flask)
  • PlaceTrace (2025) — Personal location history explorer: imports Google Timeline data into PostGIS, with local reverse geocoding against OSM boundaries, trip detection, and an interactive map UI for spatial and temporal queries. (Python, PostgreSQL/PostGIS, Flask)

Side Quests

  • JScreenSaver (2026) — JavaScript port of generative artwork from XScreenSaver (Jamie Zawinski & contributors). 150+ Unix/X11 screenhacks reimplemented from the original C and OpenGL. Minimalist full-viewport UI with keyboard navigation and mobile support. [source] (JavaScript, Canvas 2D, WebGL/GLSL, three.js)
  • offline-maps (2026) — An offline map viewer that makes zero network requests at runtime. Includes a demo dataset: a layer with every automated license-plate reader (ALPR) known to OpenStreetMap. (Python, Flask, MapLibre GL, GeoPandas)
  • adsb-fingerprint (2026) — RF fingerprinting of ADS-B transponders from RTL-SDR captures: real-time Mode S detection and demodulation, a convolutional neural net that identifies the physical airframe from raw IQ samples with the aircraft ID bits masked out, channel-only baselines and ablations to rule out confounds, and a live map of what's currently overhead. (Python, PyTorch, PostgreSQL/PostGIS, Flask)

Pinned Loading

  1. isi-digital-backend isi-digital-backend Public

    An FX correlator for the Infrared Spatial Interferometer at Mount Wilson Observatory. Three Virtex-5 FPGAs processing 138 Gbps in real-time.

    Python

  2. gpu-xengine gpu-xengine Public

    GPU cross-correlator for a 3-telescope interferometer

    Cuda

  3. xgb_recv xgb_recv Public

    Multithreaded 10GbE UDP packet receiver in C with a synchronized ring buffer for high-speed data capture

    C

  4. MeshCell MeshCell Public

    Computer vision and computational geometry pipeline for automated morphometric analysis of microscopy images

    Python

  5. alphafold-contact-clustering alphafold-contact-clustering Public

    Unsupervised clustering pipeline for large-scale protein structure analysis and binding mode classification

    Python

  6. z-ring-constriction z-ring-constriction Public

    Time-series image processing pipeline: calibration, registration, object tracking, and signal extraction from live-cell microscopy

    Python