I make complicated work legible, reliable, and fast.
Project and operations coordinator with a research scientist’s rigor and a builder’s instinct for process. I move between chemistry, construction operations, automation, public-interest data, and the small tools that make each domain easier to understand.
Systems built in the open
noprofits.org
Public-interest tools and field notes that make nonprofit finances, Form 990 data, and grant flows easier to inspect.
Visit the project → Data toolNonprofit Search
Mission, filing history, financials, and operational metrics for U.S. nonprofits.
Open Search → VisualizationGrant Flows
An interactive graph for tracing federal money from grantor to grantee.
Explore Grants → Art experimentThe Met, randomized
A four-screen PWA that manufactures a random walk through the Met’s open collection.
Find an artwork →Forbidden and allowed: what symmetry does to a spectrum
Dissolve cobalt chloride in water and the solution is pale pink; add hydrochloric acid and it turns an intense blue — same ion, same kind of transition, a hundredfold jump in intensity. The gap didn't change; the symmetry did. This post pays the pigment series' oldest promissory note and explains what "forbidden" and "allowed" actually mean — one integral, one parity argument, one character table — and why forbidden bands show up anyway.
Latest writing
Forbidden and allowed: what symmetry does to a spectrum
Dissolve cobalt chloride in water and the solution is pale pink; add hydrochloric acid and it turns an intense blue — same ion, same kind of transition, a hundredfold jump in intensity. The gap didn't change; the symmetry did. This post pays the pigment series' oldest promissory note and explains what "forbidden" and "allowed" actually mean — one integral, one parity argument, one character table — and why forbidden bands show up anyway.
Molecules as circuits — a chromophore as an RLC resonator
An absorption energy gap is a resonant frequency, a transition dipole is charge sloshing across a capacitor, and a linewidth is a resistance — so a dye molecule is literally a driven RLC circuit. This post makes the analogy pay its way, pinning every circuit element to a number from a real chromophore I synthesized, then shows the three places the model quietly stops describing the physics: the hyperpolarizability, the quantum interference in the wiring, and the many-body order that actually sets device performance.
One donor, one acceptor, one new band: push–pull chromophores and charge transfer
Aniline and nitrobenzene each absorb only in the ultraviolet. Bolt the amino donor and the nitro acceptor onto the same ring and a new band appears that neither parent owns — lower in energy and brighter than anything either shows alone. This post computes that emergence with TD-DFT, measures the charge-transfer character directly, and uses it to stress-test two density functionals against a failure mode one of them is famous for.
The colors on the palette are energy-level gaps: engineering pigments for permanence
A tube of paint is an electronic-structure problem plus a scattering problem, perceived by an eye. This post builds the mechanism-first taxonomy of color — conjugated π-systems, ligand-field d–d transitions, charge transfer, and semiconductor band gaps — leading with the modern synthetic pigments engineered to fix the lightfastness failures of their historic ancestors, then puts absorption and scattering back together with Kubelka–Munk.
How much does correlation really cost? The correlation gap in water, measured
The Hartree–Fock post drew its correlation-gap figure schematically. This post runs the actual calculations — RHF marched up a basis-set ladder to its limit, MP2 and CCSD(T) below it — and reports what electron correlation costs, in hartrees, for one bent molecule of water.
One matrix element, two experiments: molar absorptivity and the Pockels effect
A companion to the molar-absorptivity post. The absolute height of an absorption band, the refractive index, and the electro-optic coefficient of a poled material are three readouts of one quantity — the transition dipole. Normalizing every spectrum to 1 throws that quantity away. This traces the same matrix element from Beer's law through the two-level model to the Pockels effect, with worked numbers.
Molar absorptivity is a rate constant in disguise
The molar absorptivity in Beer's law looks like a static property of a molecule — a number you read off a table, like a melting point. It is not. The integrated absorption band is proportional to the same transition dipole that fixes the spontaneous-emission rate, so an absorption measurement quietly measures a lifetime. This post follows the chain from Beer's law to the Einstein coefficients and shows why weak absorbers are always slow emitters.
Hartree–Fock and the correlation gap: where the orbital energies come from
A water molecular-orbital diagram quotes orbital energies as if they were just there to be read off. This post derives the ground-state machinery — the Hartree–Fock equations, their self-consistent solution, Koopmans' theorem, and the correlation energy that the mean field leaves behind — that actually computes them.
No recent posts under this topic.