My first 5 years of iOS development are well-documented. However, I no longer consider myself an "iOS developer" – I've grown, I've learned, I've struggled. The problems I want to work on just can't be solved with iOS software alone.

A portfolio can only show you what I've done, but I hope this gives you a sense of what I'm doing next.


In my home region of Atlantic Canada, we have a saying: “rising tides lift all boats.”

Since I was a teenager, I’ve been fascinated with open source software. Not just the software itself, but the communities surrounding different projects. No one individual can accomplish what a community can – people can always accomplish more if they work together.

Today, I practice a fairly radical openness: I believe that unless there is a good reason to keep something secret, then it should be shared.

At Artsy, we call it “open source by default.” At Teehan+Lax, we called it “creating more value than you capture.” Before that, I didn’t really have a name for it. It was just what I did.

See, in all our searching, the only thing we’ve found that makes the emptiness bearable is each other. —Contact (1997)

I take a lot of pride in helping others and in contributing to the developer community, and I’ve tried to set a higher standard for my own behaviour. In addition to building open source communities online, I volunteer with Coalition for Queens.

When I moved to New York in 2015, I started a Saturday morning peer lab; I have since spread this idea around the world to dozens of cities, so there might be a peer lab near you!


Great software is software nobody notices. I write meaningful software with this in mind.

I've began writing iOS apps in 2009, when I was still in university. Since then, I've expanded into many directions; I now write software for whatever platform I need to solve a problem.


Since 2014, I’ve worked for Artsy: a company working towards a future where everyone is moved by art every day. I've worked on a variety of teams to realize Artsy's business goals, starting with building iOS apps and now contributing across many systems and teams.

Artsy encourages me to grow and learn, and to share what I learn with others; all of my work is done in the open, and I write articles for Artsy’s engineering blog. My current career goal at Artsy is to scale up my impact.


35mm was an ambitious project that I undertook with a team of two others: a designer and an editor. We aimed to change the world for photography-lovers by providing curated photography without advertisements. Although the project was not a success from a financial standpoint, I learnt a lot about writing Newsstand magazines for iOS, including architecting our own backend server in Node.js.

This project is no longer available.


In 2011, I began as the only iOS developer at 500px, architecting and shipping the iPad app. I helped design new features, plan the product roadmap, and respond to customer support inquiries, all while continuing to ship an amazing product. I learned a lot about how software serves the needs of the business, and collaborating towards shared goals as a team.

Eventually, the team grew and I stepped up to become a team lead. From there, I played a crucial role in the design and development of the iPhone app, which shipped late 2012. 500px is still available on the App Store, where it has been downloaded by hundreds of thousands of photography lovers.


Beyond code, beyond writing, there is art. My primary creative outlets are music and photography.

Since 2011, I have developed an increasingly intense interest in photography. Working to improve my skills, I’ve explored the medium on film and in the dark room, using film as small as 35mm to as large as 4x5 inches. I now shoot using my iPhone because the majority of my dedicated creative time is spent on music.

I grew up playing music but stopped when I started university. Twelve years later, in 2016, I picked up a guitar for the first time and have been (re)discovering my love of music ever since. My largest music project to date has been a 30-day challenge. I'm starting to explore songwriting, but it's still early. If you're in New York and ever want to jam, please get in touch!


I grew up wanting to become a teacher, and when I became a programmer, I achieved my dream.


I’ve been writing a developer-focused blog since 2011, now hosted here. At Teehan+Lax, I began contributing to company blog as part of my job. I still do, now on Artsy’s developer blog. I’ve also written posts for objc.io.

Blogging about has made me a better developer and a better writer.


In March, 2014, Treehouse invited me to Orlando to record a series of videos and screencasts to guide students through using Core Data to build an iOS diary app.

I’ve given other, in-person workshops on subjects ranging from the basics of iOS development to functional reactive programming in Swift, beginning in 2011.


I began speaking in the Toronto CocoaHeads group. I soon began submitting proposals to conferences. Today, I’ve spoken all over the world on a variety of subjects relating to software development, team development, and open source software.

Check out my speaking page for more.


Beginning in 2012, I’ve written a number of books on iOS development (both with publishers and self-published). Like with blogging, writing is a very satisfying activity. I enjoy planning a route to take a reader on, considering what to teach them (and when), and turning my ideas into educational resources.

Check out my books page for more.