Hi. I'm Mike.

I make apps for web and mobile. I want to use those skills to solve your business problems.

I've been building software professionally for nearly ten years, at places like Pivotal and the MIT Media Lab and working on products like Words With Friends and Timehop. I mostly work on native iOS apps and single-page web apps.

If you're interested in working together, shoot me an email at [email protected].

What I Do

Build rapid prototypes and MVPs. Whether you know what needs to be built or are still exploring a possibility space, I can help get you get your product to a v1 as quickly as possible. The work I do often spans the whole spectrum from design to product to full-stack development. I have particular expertise in prototyping novel interfaces and interactions, most notably those taking advantage of iOS data sensors (e.g. geolocation and motion).

Write high-quality, sustainable code. Need an extra hand on your app? I can serve as staff augmentation to build out new functionality quickly and robustly, or help whip your more troublesome codebase into shape. I also have experience mentoring clients on engineering and product process, aiding adoption of techniques like test-driven development and pair programming.

Make playful things. I specialize in designing games and toys with novel interaction methods, particularly things that combine the digital and the physical, but I've done a little of everything. My work has been featured everywhere from IndieCade and alt.ctrl.GDC to the Smithsonian Museum of Art and NPR's All Things Considered; check out my portfolio for examples.

Who I've Worked For

Some of my former clients and employers include Cover, Electric Objects, Lore, Rotunda Software, SF Playhouse, Timehop, XO Group, Zulip (acquired by Dropbox), and Zynga.

As a writer and speaker, I've contributed for popular iOS publications such as NSHipster and objc.io. My site Fucking Block Syntax is one of relatively few external community documentation resources taught internally in Apple training courses.

As an open-source contributor, I regularly contribute to impactful OSS projects such as CocoaPods. Projects of my own, such as IntentKit, are used by thousands of developers in the iOS and web dev communities. See my GitHub profile for more.

How I Work

I use whatever tools are appropriate for the job. On mobile, this usually means native Swift (or Obj-C) code; on the web, Rails or Node on the back-end and modern JS technologies such as React on the front-end. In general, I:

Deliver working software. Putting a flawed prototype in the hands of real users answers questions that user interviews or low-fidelity testing oten can't. I deliver working software early and often.

Sketch directly in code. A tight feedback loop for iterating quickly is easiest when working in software rather than static artifacts. When doing design work, I prefer experimenting straight in code.

Measure, but only to a point. I've worked in metrics-driven environments. I once increased installs 40% on a Facebook game with 4 million DAU in a single A/B test. But data-driven design that can only take you so far. Knowing how and what to test can make your product better; knowing when to rely on intuition instead of numbers is just as important.

Seek active collaboration. Talking about "my work" vs "your work" gets in the way of building the best possible product. I believe the best work comes from tight-knit, ego-less collaboration.

How We Can Work Together

Shoot me an email at [email protected] and we can take it from there.

I usually prefer to work remotely, but I'm happy to cater to your needs. I'm based in NY, and travel to SF often. I'm currently looking for relatively short-term engagements (3 months or shorter, generally), but there's always flexibility for the right project.