Skip to content

One of the main drivers in my life has been a perpetual desire to create. Whether a vector graphic, short animation, dynamic micro-interaction, or full-blown website, somehow or another I typically end up making at least one project a week.

It’s how I learn, it’s fun, and sometimes it’s how I de-stress after a day of heavy social interaction... hehe. Below is a sampling of some of these projects, mostly within the domains of software and design.

Personal Projects

  • PlaygroundA quick and dirty iframe sandbox
  • PasteA place to paste things, get base64 URLs for images/files
  • Web ScraperA simple web scraper app and JSON API
  • Lazy InvoiceGenerate a quick invoice for a single product or service
  • The Magic of CSSAn interactive CSS textbook (from 2015, content now a bit outdated)
  • StretchA daily 15m stretch routine recommended by the Mayo Clinic
  • Chrome TabsGoogle Chrome-style tabs implemented in HTML/CSS/JS for use in the browser
  • logStyled console logs in devtools
  • LettersDraw densely packed non-overlapping glyphs
  • WeatherDisplay temperature data in a pinned Chrome tab favicon
  • REDLOVEAn experimental typeface using CSS border radius
  • Inspector DetectorDetect whether or not the Chrome Devtools are open

Chrome Extensions

  • New TabA minimalist replacement for the Chrome New Tab page
  • Desaturate FaviconsDisplay all but the current tab’s favorite icon in grayscale
  • Pause IndefinitelyA fix for an annoying Netflix bug, which, thanks in part to this extension, has now been fixed by Netflix ;)

Eager Open Source

  • EmbedBoxUniversal instructions for embedding a web app into any CMS
  • StoutA static deployment tool with smart defaults
  • JSON.isOpen-source documentation for common JSON formats
  • Instant WP PluginsA quick way to wrap an embed code for shipping as a WP plugin

Eager Apps (now Cloudflare Apps)Cloudflare Apps

While at Eager I built dozens of apps—bundles of JS and CSS embeddable on any website. Here are a few of my favorites:

  • SmartUnderlineReadable and beautiful underlines for every website
  • FeedbackElegantly collect feedback from website visitors
  • ShareA nifty social sharing button dropdown
  • LeadLineGenerate leads with a banner on the top of your page
  • LeadBoxGenerate leads with a nifty little box which appears just at the right time
  • SideNavSimple slide-in side navigation for any website

Collaboration with Edward TufteWith Edward Tufte

On March 26, 2013, I was incredibly fortunate to have met Edward Tufte during a book signing after attending one of his courses in Boston. In the years since we’ve collaborated on a number of projects in information design, mostly on weekends.

We built a Chrome extension, worked on a number of essays, created a number of open-source projects based on his years of design work, and shared this work with the world on GitHub.

  • ImageQuiltsA Chrome extension data-visualization tool to build matrices of large sets of images
  • edwardtufte.github.ioThe home of ET’s open-source presence
  • ET BookA webfont of the typeface used in ET’s books
  • Tufte CSSThis library for creating beautiful Tufte-inspired HTML documents was created by Dave Liepmann, but I worked with him and ET bringing it into the edwardtufte GitHub org as well as improving its design and content
  • PresenterA website tool for building presentations/reports with no coding required

ET Notebooks

HubSpot Open Source

While at HubSpot, my friend and colleague Zack Bloom and I created and released many small open-source projects. In total these have garnered over 50,000 stars on GitHub to date.

They range from a positioning engine, Tether (which was used in Bootstrap 4), to a dialog library, vex, used on hundreds of thousands of websites, to a TV display, Facewall, for visualizing a company’s employee photos.

  • TetherA positioning engine to make overlays, tooltips and dropdowns faster
  • vexBeautiful and functional dialogs
  • FacewallDisplay a large matrix of faces for an organization
  • DropA versatile and powerful dropdown library, built on Tether
  • ShepherdBuild help guides for you app, built on Tether
  • TooltipStyleable tooltips built on Tether
  • SelectStyleable selects built on Tether
  • SortableDrop-in script to make tables sortable
  • OfflineAutomatically alert users when they’ve lost internet connectivity
  • OdometerTransition numbers with ease
  • PACEAutomatic progress bars for any website
  • MessengerGrowl-style alerting for web applications
  • jQuery-ZoomerScale live documents larger or smaller
  • SingularityI created the original frontend for this mesos task scheduler tool for monitoring large systems
  • SignetTool for developers to display a unique seal on their pages
  • ColorshareA simple tool for changing the colors of social sharing widgets