condensed version

For an executive summary, my current CV clocks in at four pages.

me

My name is Kyle Woodward. I'm a 39-year-old resident of San Francisco, currently a Senior Data Scientist (Economics) at Gopuff and an Adjunct Professor in the Department of Economics at the University of San Francisco. I got my Ph.D. in Economics at UCLA in 2015; my undergraduate work was at Stanford University, to which I owe degrees in math, economics, and computer science. I am an active supporter of bicycle commuting. I spend my spare time making things like websites, furniture, beer, and economic models.

Dropping me a line is left as an exercise for the reader. (tip: Google can help if you remember calculus; Wolfram|Alpha can help if you don't)

captcha =

the site

The color scheme comes from The New St. Martin's Handbook, with slight adjustments to match my almae matres and former employer. And wood, or perhaps a healthy brown ale. Kudos to the publishers for picking a naturally appealing palette.

The splash page design can vary. You are encouraged to press [Esc], or double-tap, and play around. Available themes include:

Compatibility recommendations are based solely on my own testing. If you find differently, let me know.

The banner images are window decoration, generated by biased Brownian motion. A particle starts at the far left, in the middle, and wanders rightward uniformly over distances and within a particular cone. The algorithm is fairly simple and exists in the source of this very page as a sequence of Logo commands passed through Logo-to-JS conversion.

The banner images are window decoration, a grid of squares slowly shifting colors. It's (more or less) the popsquares theme from the homepage, adjusted to match page colors.

Some time ago the banner images were a dynamic mow-the-lawn simulation in which each new visitor mowed a patch of a tiny yard. A fun, networked idea, but it turns out that traffic on this site is too low to sustain anything other than weedy overgrowth. This offended my basic need for order, and jiggering the parameters felt like cheating. Brownian motion it is, then.