Github | NPM | Medium | AngelList | LinkedIn | Quora | GoodReads |

const tools = [
    'ESNext (JavaScript)', 'Node.js', 'React', 'Angular', 'Ionic', 'Vue.js'
    'XO', 'AVA', `Jest` 'Bluebird (Promises)', 'Mocha/Chai', 'Travis', 'NYC',
    'AWS', 'GitHub', 'Cordova', 'Babel', 'HTML5', 'Less', 'SASS',
    'WebPack', 'Gulp', 'Grunt', 'Typescript', 'Sketch'


I have been developing web sites and mobile applications for twenty years. I experiment with low-power computing, build mechanical keyboards, and contribute to Open Source software. I use React, monorepos, Behavior Driven Development, and Dev-Ops integrations, to engineer user interfaces that scale across multiple teams and products.

In my early career, I focused on accelerating the bleeding edge of the web browser. Data visualization with Mozilla and Newsweek, Audio Working Group Chair at The W3C, Educational HTML5 Games Development for The Concord Consortium, Node.js Streaming Platform project lead for Red Bull Studios, wrote about JavaScript animation for popular British tech magazine .NET (no relation to the language). I have spoken about JavaScript APIs and Frameworks at over 20 conferences and meetups, and I organized the Boston JavaScript Meetup Group from 2010-2012.

In recent years I have focused on using technology to help solve social problems. I was Software Architect and Scrum Master for web accessibility company, AI Squared, and a Lead Developer for two mobile healthcare apps, Radial Analytics and Mya Health.

On a more personal note, I have been bashing computer keys since I was a wee lad. My Dad joined the dark side, and became a database programmer (for a Japanse education company), and thank God, he brought those glorious machines home where they belonged.

I'll never forget the day my Dad brought home his WANG Terminal in the 1980s, plugged into phone line and started working remotely.

I started programming back in the early 1980s, making computer games on the beloved BBC Microcomputer - my only escape from the realities of growing up on the wrong side of the tracks. I made an unsung vow back then, to never get too close to a database, just in case I got dragged all the way in.

When I was about 12 years old, my friend's mom paid me to develop a book keeping app for her business. She had a Windows 3.1 PC. I wrote it in QBasic. And that was my first commercial bug fixing experience.

I began designing and building websites for companies back in 1999 and started mixing interactive HTML5 visualizations with live video performances for London clubs and festivals in 2004.

I studied Music Technology, Production & Performance at Langley College in England, where my teacher jokingly nicknamed me "Doctor Filter", because a) every musician was pre-pending their name with "Dr." back then, (E.g., Dr. Dre), and b), because I would apply Frequency Cutoff Filters to every channel of the electronic music I produced.

My peers thought this nickname was hilarious, and so it stuck. With an ungodly number of hours playing Team Fortress 2 under my belt, my nickname naturally shifted to its present, 1337 form, "F1LT3R".

You can still find some of my music online.

Speaking Engagements

  • 2019-06-16: React MonoRepos - React Meetup, Boston
  • 2018-05-05: React Context API - Frontend Meetup at HMH, Boston
  • 2018-06-01: ESNext & React Training Course - Five day course at HMH, Boston
  • 2012-10-15: Web Audio - Wakanday JavaScript Conference, Boston, Boston
  • 2011-08-17: Blender to WebGL - HTML5 Game Development Meetup, Boston
  • 2011-06-17: WebGL Demo Workshop - [AT]Party Demoscene Event, Harvard
  • 2011-01-20: Web Audio APIs - HTML5 Game Development Meetup, Boston
  • 2010-11-08: Processing.js Interactive Workshop - EDUI Conference, Virginia
  • 2010-11-08: Intro to Processing.js - EDUI Conference, Virginia
  • 2010-10-26: JS Game Audio - Level Up Game Jam, CDOT, University of York, Canada
  • 2010-10-16: Firefox4 Audio Data API - Workshop - Music Hack Day, Boston
  • 2010-09-17: Demo-tools with Web-Technology - Bocoup Loft, Boston
  • 2010-08-19: Processing.js New Features & Tutorial - Harvard College, Boston
  • 2010-07-08: The Future of Web Audio - Mozilla Summit 2010, Whistler, Canada
  • 2010-05-12: The Future of Web Audio - Bocoup Loft, Boston
  • 2010-04-28: Audio Data API - WWW2010, North Carolina
  • 2010-04-17: WebGL Demo Overload - JSConf, DC
  • 2010-04-02: Keynote JavaScript Motion Graphics - Motion Graphics Festival, MA
  • 2010-03-17: UI Mechanics - Bocoup Loft, Boston
  • 2009-11-21: Processing.js Workshop x2 - Music Hack Day, Boston
  • 2009-10-30: Creating an Animated Twitter Widget - FSOSS Conf., Toronto, Canada
  • 2009-09-11: A Crash Course in HTML5 - Microsoft NERD, Boston
  • 2009-04-30: The Death of Flash - BarCamp4 MIT, Boston