A collection of free productivity-enhancing extensions that I've built for Adobe Fireworks using JavaScript, ActionScript and Flex. The most recent ones include:

  • Page Commands

    The commands in this extension make working with pages in Fireworks more efficient and convenient. The "New Page" dialog makes it easy to create a new page while simultaneously changing its size or background color and giving it a name. The "Adjust Page Size" command lets you make relative adjustments to the size of multiple pages at once, such as moving the left and right sides in by 10px on each page. The "Distribute Layers to Pages" command does the same for top-level layers. The "Import Files into Pages" command is useful for combining several existing files as pages in a new document. The "Apply Export Settings to All Pages" command takes the export settings on the current page and applies them to all pages in the document. more...

  • TweetFire

    TweetFire lets you easily tweet the image you're currently working on, without ever leaving Fireworks. Just enter a short message, click Tweet, and a flattened copy of your image will be posted to Twitter. The URL to the image is automatically added to your tweet. more...

  • Edge Reflow

    The Edge Reflow extension lets you export a Fireworks layout to Edge Reflow, where you can test the responsiveness of the design. All of the elements on the first state of the current page will appear in Reflow with more or less the same size, position, color, etc. that they have in Fireworks. more...

  • See all the extensions


Stuff I've worked on in code form.

  • QuicKey

    A 5-star-rated a Chrome extension for switching tabs with a Quicksilver-style search or a most recently used menu.


  • quick-score

    A string-scoring and fuzzy-matching library. It's based on the algorithm used in the Quicksilver macOS utility and is designed for smart auto-complete. It improves on the original algorithm by tuning the scoring for long strings, such as webpage titles or URLs, so that the order of the results makes more sense for a given search string.

    Demo     npm package

  • Routed

    Routed is a web app that helps ambulances direct non-critical patients to hospital emergency rooms with the most availability. It was built by Code for San Francisco volunteers, using React, Express, and Postgres, and has been piloted by the San Francisco Fire Department.


    A site for tracking urban tree planting, maintenance, and CO2 capture, supported by Code for San Francisco volunteers. Built with MapboxGL, React and MUI.

  • Fireworks JS libraries

    Code I've written to support developing Fireworks extensions.


Stuff I've worked on in word form.


Stuff I've worked on in picture form.


Yet another laptop picture frame build log.