Bot that monitors private Meshtastic channels and responds to radio checks.
September 2024
Meshtastic • Python
A custom hook for using React Query with a generated gRPC Gateway TypeScript client.
May 2024
React • gRPC • TypeScript
TypeScript client generator for gRPC Gateway
Forked and improved protoc plugin for generating TypeScript client code for a gRPC Gateway.
April 2024
gRPC • TypeScript • Open Source
Advising on SEO, web strategy, and process automation for Lyra's school in San Francisco.
March 2024
Pro Bono
A custom GPT trained to create super hero logos based on archetype, color, and super power. This GPT prompts you for information before generating the image.
January 2024
Play • GPT
A custom GPT trained to produce simple coloring pages for my kids. This gets used almost every day.
January 2024
Tools • Play • GPT
A dropbox powered website that makes it really easy for me to post a single photo of Skye.
March 2020
Personal • Photos
A microsite for picking random team-building questions.
August 2019
Work • Range • Tools
A company focused on building software that help teams work better together. I co-founded Range in 2017, we built a product for asynchronous check-ins, meeting management, and goal setting, that was used by some of the best companies in the world.
April 2017
Work
An experiment in N-dimensional flocking; visualizing 5D using a combination of euclidean and color space.
February 2016
Play • JavaScript • Emergent Behavior
A Go library for building Dropbox backed photo sites.
June 2015
Go • Photos
A client-side web based tool for creating square, letter boxed images.
April 2015
Photos • Tools • JavaScript
A dropbox powered website that makes it really easy for me to post a single photo of Lyra.
January 2015
Personal • Photos
A Go library that forwards feed updates to Web Sockets.
December 2014
Go
An experiment with HTML5 Video APIs and canvas manipulations.
June 2014
Play • Video
A PubSubHubbub subscriber client library for Go (golang).
January 2014
Go
A little program for stashing messages that are queued up in Amazon's SQS. Use it as a disaster recovery mechanism to drain a queue, or use it to guarantee delivery of transaction logs to persistent storage.
July 2013
AWS • Node
A JavaScript protocol buffer schema parser and template based code generator.
March 2013
Node
GitHub ReviewLog Retired
A Chrome extension aimed at making it easier to keep track of open Pull Requests across GitHub projects.
January 2013
Tools • Integrations
An experiment with the entropy of images.
December 2012
Play • Images
A Node service for generating RSS feeds for your public Google+ posts. People used it to power IFTTT recipes.
November 2012
Integrations • Node
A Nodeunit compatible library for writing HTTP level functional tests.
October 2012
Node • Testing
A new publishing platform for the web. I led the engineering team for 5 years and helped build a platform that changed the way millions of people write online.
August 2012
Work
A utility for working with Closure Templates, aka Soy, from with a node.js application.
May 2012
Node • Closure
A quick JS solution to the matrix coloring problem.
February 2012
Play • JavaScript
An online exposure calculator. Plug in your camera settings, lock the exposure, and tweak and go take some pictures.
November 2011
Photography • Tools
A Closure based JavaScript library for managing screens/views in a Single-Page Application.
November 2011
Closure • JavaScript
Flixtractr Defunct
A web app for downloading sets of Flickr photos as a single zip file.
November 2011
Tools • Integrations • Photography
A really minimal example of using the Web Audio APIs to generate a tone.
October 2011
Play • Audio • JavaScript
Mnema Defunct
A social image bookmarking site, focused on a fast clip and tag flow.
September 2010
Play • Photography • Integrations
Google+ Defunct
An attempt at building a new social network. I Led the "Frontend Infrastructure" team from the start of project until the end of 2011. We worked on the client-side framework, release process, performance, productivity, and dev team on-boarding.
June 2011
Work • Google
Simply shows a random english turn-of-phrase or idiom along with its meaning. Written to help get inspiration for a photography project.
March 2010
Play • Tools
PHP-Closure Retired
A PHP class that makes it easy to serve optimized JavaScript sources, using Google's Closure Compiler web service.
February 2010
JavaScript • PHP • Closure
Closure Library Retired
A standard JavaScript library for Google. I co-founded the Closure Library as a 20% project in 2006 as part of the Gmail rewrite, it received gradual uptake across Google and was open-sourced in 2009, and was finally sunset in 2024.
November 2009
Work • Google • Closure • JavaScript
Fittr Flickr Retired
A Chrome Extension that adds power-user functionality to the photo sharing site Flickr. Features include keyboard shortcuts, nice replies, access to in-line EXIF, and convenient links to services such as Big Huge Labs and Twitter.
October 2009
Integrations • Photography
A little toy for psuedo-localizing text, Śօʍêեիîդǥ ɭїқҽ էћїś
October 2008
Testing • Tools
A project I led that brought gadget support to Gmail.
October 2008
Work • Google • Gmail
A new version of Gmail. I was a member of the core team that pioneered a rewrite of the Gmail client side codebase.
October 2007
Work • Google • Gmail
GeoStatus Retired
A Facebook app for sharing your location history. I attended the Facebook hackathon in May 2007 and launched a "Where am I?" app based on their new platform. It allowed you to track your and your friend's locations as you travel around the world on holidays.
May 2007
Facebook • geo
A tool for visualizing traceroutes on Google Maps.
May 2007
Play • Google Maps • geo
A tool for benchmarking Internet Explorer's Garbage Collection routines.
March 2007
JavaScript • Tools
A browser based chat client for Gmail. Gmail Chat was the first project I worked on at Google. I worked on the FE, on things such as the rotating emoticons, chat formatting, and general UI work.
February 2006
Work • Google • Gmail
An experimental interface inspired by the iPod menu.
May 2005
Play • JavaScript
An experiment that pulls random images from across the interweb.
April 2005
Play • Images
An experiment into flocking behavior. Many entities following a few simple rules produce emergent interactions that appear more complex than their component parts.
November 2003
Play • Emergent Behavior • JavaScript
An experiment from 2001 into creating a 3D particle system with DHTML.
2001
Play • JavaScript
An experimental DHTML site that had async data loading and drag/drop functionality, before they were properly supported by browsers. Now a static site that hosts this project list in brutalist design.
2001
Play