Last updated: June 2021
After working for a number of years as a full-time employee at various companies, I went independent at the end of 2019. I’m currently focusing on my own apps and open source projects, while doing contract work for various clients.
Remote • Aug 2019 — Present
Independent app development. See hexedbits.com.
Remote • Jan 2020 — May 2021
Hired as an independent contractor for the ‘User Delight’ team, working on the main iOS app. I worked part-time and reported to Peter Chapman.
- Built a custom, internal, in-app ‘shake-to-report’ bug reporting tool that communicated with the Jira API to create tickets, and the Slack API to post some reports directly to specific channels. Reports included device and OS metadata, user and app metadata, screenshots, and logs.
- Built a user-facing version of ‘shake-to-report’ for users in the Duolingo Beta Program, which sent reports to Zendesk using the Zendesk SDK.
- Implemented an app-wide maintenance mode that could be triggered when backend services were experiencing outages. This utilized a middleware layer in the networking stack to pause all network activity in the app and periodically ping a status micro-service to check if the API was available again.
- Worked closely with designers to implement Dark Mode for the entire app, which required significant refactoring in the legacy codebase.
- Worked closely with designers to implement various animations and UI polish throughout the app to ‘delight’ users. This included character animations and progress bar sparkle animations during lessons.
- Implemented various sound effects throughout the app.
- Implemented custom crash reporting using PLCrashReporter.
- Most features shipped behind experiment flags using Duolingo’s custom experimentation framework.
- Provided regularly, timely updates on the progress of projects via Jira and Slack.
San Francisco, CA • May 2017 — July 2019
Note: PlanGrid was acquired by Autodesk in November 2018.
- Shipped a number of features: polygon annotation tools, multiple assignees and followers for Tasks, user groups, Tasks ‘rewrite’ to include planned work and issues (‘sheetless tasks’), advanced filtering and sorting for Tasks. All features included local database migrations and syncing with backend, as the app must be completely functional offline. We used SQLite directly and maintained our own SQLite DSL in Swift.
- Contributed to a number of mobile infrastructure improvements, including building out internal frameworks, adding pull request automation with Danger, and improving code quality with SwiftLint.
- Helped release and maintain open source framework, ReactiveLists.
- Acted as Release Captain to manage biweekly releases, which includes triaging bug/crash reports, managing branches and fixes, and submitting final build to AppStore Connect. We used Fastlane to automate much of the process.
- Helped refine interview process for new candidates, including developing questions and quizzes.
- Mentored new hires and junior teammates.
Menlo Park, CA • May 2015 — May 2017
- Shipped updates to the App Store on a weekly schedule.
- Launched the immersive video viewer and IG Events on Search and Explore (Wired, Recode, Mashable).
- Worked on mobile infra team to refactor the main feed and co-author the open source framework, IGListKit (Blog post).
- Launched and maintained the new IG Direct (TechCrunch).
- Rewrote entire Direct messaging infrastructure on the iOS client using IGListKit, including moving to protocol-oriented, immutable models.
- Deployed new features and experiments via Facebook’s A/B testing frameworks.
- Acted as Release Captain to manage biweekly releases, which includes triaging bug/crash reports, managing branches and cherry-picks, and submitting final build to AppStore Connect.
- Mentored new hires and junior teammates via 1:1 talks, as well as code reviews.
San Francisco, CA • Sep 2013 — May 2015
- Released and maintained the Advanced Languages app. It was previously named Advanced English For Business.
- Used CoreText and speech recognition engine to build a read-along learning activity.
- Built vocabulary cards, matching, and other learning activity frameworks.
- Authored over a dozen internal frameworks (private CocoaPods) in efforts to build up mobile infrastructure.
- Worked effectively with remote teammates.
- Authored and published the company’s first ever open-source projects.
Remote • Jan 2013 — Apr 2013
A collaboration with designer Michael Schultz and funded by Affinity Biotech. Hemoglobe was an iOS app for staying in touch and meeting new people with bleeding disorders. It was shutdown in early 2016 and is no longer available.
- Built the entire app and collaborated with Michael on implementing his designs.
- Used Parse BaaS for backend.
- Features included a feed of nearby users, private 1:1 messaging, and user profiles.
Remote • Jan 2012 — Jan 2014
Independent app development. See hexedbits.com.
I’m working on a number of side projects, indie apps, and open source projects. You can find an overview of my projects here. My open source projects are hosted on GitHub, and my indie apps are available at Hexed Bits.
I have spoken at conferences and meetups around the world to share my thoughts, ideas, and experiences about programming,
software, and community — particularly open source, iOS, Swift, and Objective-C.
You can find a complete list of my talks here, including slides, videos, and sample code.
try! Swift India, Bangalore 🇮🇳 — 19 Nov 2017
iOS Conf Singapore, Singapore 🇸🇬 — 19 Oct 2017
WWDC Swift Panel, San Jose 🇺🇸 — 06 Jun 2017
Swift Summit, San Francisco 🇺🇸 — 08 Nov 2016
FrenchKit, Paris 🇫🇷 — 23 Sep 2016
Forward Swift, San Francisco 🇺🇸 — 28 Jul 2016
WWDC Swift Panel, San Francisco 🇺🇸 — 13 Jun 2016
try! Swift Tokyo, Tokyo 🇯🇵 — 04 Mar 2016
Swift meetup (SLUG), San Francisco 🇺🇸 — 28 Jan 2016
Swift meetup (SLUG), San Francisco 🇺🇸 — 14 Apr 2015
- Swift •
- Objective-C •
- iOS SDKs •
- C •
- C++ •
- HTML •
- CSS •
- SQLite •
- MySQL •
- Ruby •
- Java •
- Git •
- Mercurial •
Oakland, CA • Jan 2019 — Apr 2020
Volunteered directly with former Black Panther, Aunti Frances Moore. The Self-Help Hunger Program is run primarily by Frances. She provides a meal every Tuesday at Driver Plaza in North Oakland. My primary role was cleaning up and washing dishes. You can learn more here.
Oakland, CA • Aug 2018 — May 2019
Evansville, IN • Aug 2008 — May 2012
Mathematics minor, graduated Cum Laude, GPA 3.56.
Awards, scholarships, and notable activities listed below.
- Senior Design Award in Computer Science, 2012.
Awarded for best senior project in Computer Science, judged by local industry members and university professors.
- Class of 1927 Golden Anniversary Award in Engineering and Computer Science, 2012.
Awarded to one student for Outstanding Leadership and Service to the Campus Community at UE, nominated by the dean of the College for Engineering and Computer Science.
- Dean’s List, 2008-2012
- ACM Chapter President, 2010-2012
- ACM Collegiate Mid-Central Regional Programming Contest, 2010-2011
- Kappa Mu Epsilon Mathematics Honor Society, 2010-2012
- Al Neuharth Free Spirit Scholarship, 2008
- Bette Bennett Hammond Scholarship, 2008
- Blue Sky Foundation Scholarship, 2008
- University of Evansville Academic Scholarship, 2008-2012
- Study Abroad: Harlaxton College — Grantham, England — Fall 2009
- Study Abroad: Amauta Spanish School — Cusco, Peru — Summer 2009
Evansville, IN • Sep 2010 — May 2012
Tutoring funded by the Computer Science department.
- Tutored students in Computer Science classes who desired help outside of class.
- Coordinated with professors on class material that needed to be revisited during tutoring sessions.
Indiana University, Bloomington, IN • Aug 2012 — Jul 2013
Visiting Undergraduate Research Fellowship (VURF) in Cognitive Science. Awarded to only one or two students each year. I worked on the following research projects.
- Advisor: Dr. Randy Beer. Researched evolutionary algorithms, evolutionary robotics and dynamical systems approaches to behavior and cognition. Developed software to support the evolution of model agents controlled by continuous-time recurrent neural networks that exhibited minimally cognitive behavior.
- Advisor: Dr. Colin Allen. Joined the Indiana Philosophy Ontology (InPhO) Project development team in building new and improving existing mechanisms for facilitating expert feedback in digital philosophy that utilize crowd-sourcing techniques in order to improve the InPhO model. The InPhO Project is an attempt to model the discipline of philosophy, which leverages expert knowledge by augmenting it with machine reasoning.
- Advisor: Dr. Rob Goldstone. Developed an iOS app to facilitate research in collective decision-making. The app is a game that prompts users to answer various trivia questions, after which all responses are displayed and each user has the opportunity to re-evaluate his or her answer based on the group’s collective response.
University of South Florida, Tampa, FL • Jun 2011 — Aug 2011
Research experience for undergraduates (REU) summer program.
- Researched mobile mapping applications and mobile device sensors.
- Developed a trail mapping application for Android OS that uses only sensor data, not GPS, to map trails in real time and produced a research paper and poster on the project.
- Awarded 1st place in the REU Poster Competition.
- Presented at Math, Engineering and Science Conference (MESCON) 2012 at University of Evansville.