Abe Fettig

Hi, I'm Abe Fettig. I'm a software developer with 20 years of experience building web, desktop, and mobile apps. I'm especially interested in building software tools to help people who work with analog media. My current main project is FilmLab. I live in Maine with my wife Hannah and our two children.

What I do

I design software applications and write code. These days, I'm mostly working on native apps for iOS and Android, although I also build software for the web, MacOS, and Windows.

Much of my current work involves image processing code that has to run very fast and be cross platform. My go-to language for this kind of work is C++. I'm also comfortable using other programming languages such as C, Python, Swift, Objective-C, Kotlin, JavaScript and (if absolutely necessary) Java.

I like working with technology, but I care much more about people. My goal is to build useful tools that help people accomplish their goals. When I'm collaborating on a project, I endeavor to treat others with kindness and respect, and resolve conflicts peaceably.


For the last few years I've been working on FilmLab, a mobile app for viewing and digitizing photographic negatives. FilmLab runs on iOS and Android, using native UIs and camera APIs on top of a shared C++ core. The problem FilmLab solves is straightforward, but the solution requires a lot of cutting-edge technology, including computer vision, machine learning, color management, raw image processing, super resolution, and hardware accelerated graphics programming.

From 2013 to 2016 I was an early employee at Figly, a stealth startup. My work at Figly related to cross platform app development on iOS, Android, and the web.

In 2014 I collaborated with my wife Hannah, a knitwear designer, to build StashBot, a mobile app for estimating how much yarn will be required to knit a specific garment type and size. StashBot is still for sale on the iOS App Store and continues to be popular with knitters.

In 2010 and 2011 I built Listening Room, a website for listening to music in real-time with friends. It ran on node.js, and attracted an enthusiastic pool of users, but proved to be unsustainable due to music licensing costs. One of these days I'll get around to releasing an open source version of the code.

From 2004 to 2010 I worked as a software engineer for JotSpot, a startup building an extensible wiki, and then for Google after JotSpot was acquired. Much of my work at Google and JotSpot involved WYSIWYG HTML editing, making it possible to build and edit websites without editing HTML code. At the 2006 Ajax Experience Boston conference I gave the talk Where to Use WYSIWYG, in which I shared some of what I'd learned about browser-based editing.

Between 2002 and 2006 I developed the open source software packages Hep and Yarn, which allowed for flexible message routing between many different protocols and APIs. I gave a talk on Yarn at PyCon 2005 in Washington, DC.

In 2005 my book on working with network protocols in Twisted, Twisted Network Programming Essentials, was published by O'Reilly.

From 1999 to 2005 I worked as a programer building web-based database applications.

Hire Me

I'm sometimes available for consulting work on a daily or weekly basis. If you have a project where you think I could be of help, get in touch! The best way to reach me is by email at abe@fettig.net. You can also find me on Instagram and LinkedIn.