Scroll To View More
Matthew Carroll

Matthew Carroll

Atlanta, GA, United States
Member since October 13, 2016
Matthew is an iOS, watchOS, and tvOS developer, and a contributor to Apple's Swift project. He graduated from Georgia Tech with a BS in computer science in 2002. Since then he has developed in C/Unix, Java/Spring, and iOS—most recently developing on iOS at The Weather Channel. He has been developing in Swift since the fall of 2014. He highly values clear communication and is available to travel to client sites.
Matthew is now available for hire
Portfolio
Experience
  • iOS, 6 years
  • Core Data, 5 years
  • REST API, 5 years
  • Swift, 2 years
  • watchOS, 1 year
  • Functional Programming, 1 year
  • Common Crypto, 1 year
  • tvOS, 1 year
Atlanta, GA, United States
Availability
Full-time
Preferred Environment
iOS, watchOS, tvOS, Xcode, Git, REST/JSON
The most amazing...
...app I've developed is the location services, networking, caching, and data model of The Weather Channel’s production of the Apple watchOS app.
Employment
  • Senior iOS Developer | Arduino Developer
    2017 - PRESENT
    Humidifall
    • Developed the iOS front-end for Humidifall. Humidifall is a waterfall that can be mounted on a wall to control the humidity in an area. The iOS app allows the user to control the Humidifall as an IoT device, Humidifall.com/.
    • Developed the Arduino Yun back-end for the Humidifall system using C++. I developed the back-end to be an AWS IoT client (Amazon Web Services IoT). We are sending/receiving messages to/from the Arduino, and uploading application data from the Arduino to store in DynamoDB.
    Technologies: iOS, Arduino, C++, Amazon Web Services, AWS IoT
  • iOS Developer
    2017 - 2018
    TruePic
    • Developed the TruePic iOS SDK to upload verified media and its metadata to TruePic servers. This development was done from scratch completely in Swift 4. TruePic is a photo verification platform that authenticates photos as being unedited: Truepic.com.
    • Implemented end-to-end encryption using the latest iOS crypto APIs released in iOS 10. The metadata is encrypted using a hybrid scheme of RSA and AES-GCM with a 256bit hash. The metadata and the media are signed with a 256bit HMAC.
    • Developed an advanced custom camera view that clients of the framework present in their apps to capture images and/or video. Media can be saved to the Photos Library or to disk.
    • Made use of iOS's more than ten AVCapture APIs that capture bracketed images. This allows the TruePic backend to analyze media uploads by the SDK and catch forged photos that are pictures of a picture.
    • Integrated the TruePic iOS SDK into the TruePic React Native consumer app available in the App Store: iTunes.apple.com/us/app/truepic/id1100089673?mt=8.
    Technologies: iOS, Swift
  • Technical Writer for the Stormpath Blog
    2017 - 2017
    Stormpath
    • Worked as the technical writer for Stormpath's blog.
    • Wrote articles about security topics in the context of developing iOS applications. I wrote an article for them about common authentication and authorization schemes used in mobile apps, how to implement them on iOS, and how to integrate the Stormpath iOS framework into an iOS app.
    Technologies: iOS, Security
  • Senior iOS Developer
    2015 - 2016
    The Weather Channel
    • Worked in a team to develop The Weather Channel’s iOS app. All the development was in Swift, except for a few minor places of integration which was developed with Objective-C. The app has approximately 200 million users in 35 languages.
    • Developed the location services, networking, caching, and data model of The Weather Channel’s Apple watchOS Swift app. The watch app determines and uses the user’s current location to fetch a collection of relevant weather data to present to the user in five views on their watch, including complications on the watch face, glances, and weather notifications. The watch app can use the iOS app as a cache of weather data when the iOS app has fresh data via the WatchConnectivity framework.
    • Worked in a team to develop an iOS framework in Swift for client apps to use to fetch weather data from The Weather Channel. The framework included a public API and data model to represent the parsed JSON weather data from The Weather Channel’s weather data APIs that process weather data requests which number billions per day. The Weather Channel’s production iOS App uses the framework, and it has been made available to clients such as IBM and Weather Underground.
    • Developed the prototype for The Weather Channel’s Apple TV app on tvOS in Swift. I developed the functionality to authenticate and authorize a user with their cable provider using REST services provided by Akamai Identity Services.
    • Integrated Mapbox into The Weather Channel’s iOS app in place of MapKit. We switched to Mapbox to implement custom drawing in OpenGL of weather conditions in the radar view of the app.
    • Worked in a team to develop custom weather alerts, user profiles and their persistence, sign ups and logins with Facebook, analytics, and weather-related remote notifications, in Swift for The Weather Channel’s iOS app. Custom weather alerts include alerts in the form of remote notifications about seasonal weather events: for example, winter weather alerts. Also included was the necessary back-end support to save the user’s profile locally in Core Data and pushing and fetching it from the back-end.
    Technologies: iOS, watchOS, tvOS, WatchConnectivity, Core Data, MapKit, Mapbox, REST/JSON Services
  • Senior iOS Developer
    2014 - 2015
    Chick-fil-A
    • Developed iOS applications for restaurant owners and staff. Implementations were done in Swift 1.0 starting in the fall of 2014.
    • Developed an iOS framework from scratch that provides single sign-on for users of all Chick-fil-A apps on their devices. All Chick-fil-A apps require authentication and authorization with Chick-fil-A back-end services. The framework allows users to authenticate and authorize in one app and then switch to another app on the device and not have to login again. The framework defines keychain entitlements across the apps using the Chick-fil-A development team. The user’s credentials are stored in the keychain. The app also supports authentication with Touch ID.
    • Developed Chick-fil-A podcasts from scratch—an iOS app that streams educational and news videos to restaurant owners and staff. Content metadata is fetched from Brightcove's web services, cached locally in Core Data, and streamed via the AVFoundation and MediaPlayer frameworks. I developed a custom video player and UI controls for the app, implemented in Swift 1.0., I integrated Chromecast support with the Chromecast SDK for the app to support playing videos via Chromecast. The app also supports receiving remote notifications via Urban Airship.
    • Designed and developed Chick-fil-A contacts-sync from scratch—a Swift 1.1 iOS app to synchronize the user’s Chick-fil-A contacts provided by Chick-fil-A web services using the AddressBook framework. The app fetches the user’s contacts from the back-end and caches them locally using Core Data.
    • Developed Chick-fil-A Campus—an iOS app that uses iBeacons and Core Location to provide location information and guiding services about the Chick-fil-A corporate campus to users as they tour the campus. Portions of the app were done in Swift 1.1.
    Technologies: iOS, Keychain Services, iBeacons, Core Location, AVFoundation, MediaPlayer, REST/JSON Services
  • Senior iOS Developer | Scala Back-end Developer
    2013 - 2014
    Pharmaceutical Dimensions
    • Developed the Mobile Quick Returns iOS app for Pharmaceutical Dimensions. Mobile Quick Returns is a client-server app for Pharmaceutical Dimensions to inventory items returned by pharmacies to drug manufacturers. The iOS app fetches and updates inventory from the back-end and scans new inventory using the camera and barcodes.
    • Developed the Mobile Quick Returns back-end for Pharmaceutical Dimensions. The back-end is written in Scala with the Play framework.
    Technologies: iOS, Scala, Play Framework
  • Senior iOS Developer
    2013 - 2013
    Stable/Kernel
    • Collaborated with Joe Conway on the design and development of the Richtree Market Pass iOS application for Natural Markets Food Group, available in the App Store. The app provides a UI for users to register a credit card with PayPal's Card.io and pay for meals at a tech-enhanced food court in Toronto. Thoughtworks developed the back-end services.
    • Developed the Richtree Market Market Pass Android application.
    Technologies: iOS, Android, Core Data, Card.io, REST/JSON Services
  • iOS Developer
    2012 - 2013
    GoPago
    • Developed the iOS GoPago app, available in the App Store. The GoPago app is a mobile storefront and payments app. Users register a credit card with Jumio Netswipe, browse, order, and pay for items at GoPago merchants; then receive their order at the store without having to wait in line or pay.
    Technologies: iOS, Core Data, Jumio Netswipe, REST/JSON Services
  • iOS Developer
    2012 - 2012
    Wahoo Fitness
    • Worked in a team to develop Cruise Control—an iOS app that helps people maintain their pace during exercise by listening to music within a target range of beats per minute.
    • Developed the Music Analyzer—a module the app uses to analyze the songs on the device by determining the beats per minute of each song, downloading song metadata from Echonest’s REST service, filtering out songs that are not within the target beats per minute, and presenting the list of available songs to the user. Metadata is cached locally using Core Data.
    • Developed BlueSC Odometer—an odometer app for the BlueSC, a low-energy Bluetooth cycling computer from Wahoo Fitness. The odometer app connects to the BlueSC via Bluetooth, downloads the user’s mileage data, and presents the distance ridden history to the user. The app was developed using CoreBluetooth.
    Technologies: iOS, Core Bluetooth
  • iOS Developer
    2011 - 2012
    QuantiSense
    • Worked in a team to help develop an app for Lululemon Athletica, an athletic wear maker. The app scans barcodes of items in their stores and fetches a configurable set of analytics data about the item from the back-end services.
    • Developed the scanner component of the above app to scan barcodes using either the camera on an iPhone, or a LineaPro infrared scanner using the External Accessory framework on an iPod Touch. The analytics data is then fetched from the back-end services and presented to the user.
    Technologies: iOS, External Accessories Framework, LineaPro Scanner, JSON Web Services
  • iOS Developer
    2011 - 2011
    Third Cup lc
    • Designed and developed Wine Memories, a wine cellar application available in the App Store. More can be found in the portfolio section.
    Technologies: iOS 3
Experience
  • The Swift Project (Development)
    https://github.com/apple/swift/pulls?q=is%3Apr%20author%3Amatthewcarroll

    I developed a few improvements to the Swift compiler's diagnostic system to warn the user and provide better recovery for invalid syntax.

    Another contribution I made was to enhance the Swift driver by adding the terminating signal number to the parsable output of the driver when a process terminates.

    All development is done in C++.

    These pull requests have been merged into Apple/Swift master.

    All of my pull requests are listed above.

  • Algorithmics Exercises (Development)
    https://github.com/careercup/CtCI-6th-Edition-Swift

    I developed Swift solutions to exercises in the book "Cracking the Coding Interview." I maintain the repository of the Swift solutions to the exercises in the book. There are solutions in 16 languages.

  • The Weather iOS App (Development)
    https://github.com/matthewcarroll/TheWeather

    The Weather is an iOS weather app using the OpenWeatherMap API.

    The app demos use of the OpenWeatherMap API, and uses CoreLocation to fetch the device location. The UI is simple, with views of the current conditions, the five day forecast, and a detail view of any one of the days selected by the user.

  • Functional Programming Principles in Scala (Development)
    https://github.com/matthewcarroll/Functional-Programming-Principles-In-Scala

    My programming assignments for Martin Odersky's "Functional Programming Principles in Scala" course.

    https://www.coursera.org/learn/progfun1/

  • Functional Programming Design in Scala (Development)
    https://github.com/matthewcarroll/Functional-Programming-Design-In-Scala

    My programming assignments for Martin Odersky's "Functional Programming Design in Scala" course.

    https://www.coursera.org/learn/progfun2

  • Wine Memories App (Development)
    https://itunes.apple.com/app/wine-memories/id454790043

    Designed and developed Wine Memories, a wine cellar application available in the App Store, in iOS 3.

Skills
  • Languages
    Objective-C, Swift 3, Swift, Ruby, SQL, Java, Scala, Bash
  • Frameworks
    Cocoa Touch, iOS SDK, Cocoa, ZURB Foundation, UIkit, XCTest, Core Location, WatchKit, Core Data, MapKit, Address Book, React Native
  • Tools
    CocoaTouch, Xcode, Auto Layout, Interface Builder, Git, Xcode Playgrounds, Charles, iOS Instruments, Instruments, Apple Push Notifications
  • Platforms
    iOS, tvOS, watchOS, Keychain, Parse, Arduino, Parse Server
  • Libraries/APIs
    REST API, Google Analytics API, Facebook SDK, Alamofire, Common Crypto, iOS Extensions, CocoaPods
  • Paradigms
    Object-oriented Programming (OOP), Functional Programming
  • Storage
    JSON
  • Other
    GCD, UI Testing, AVFoundation, Carthage, Security, Back-end, Internet of Things (IoT), Bonjour, Urban Airship
Education
  • Bachelor of Science in Computer Science
    1999 - 2002
    Georgia Tech - Atlanta, GA, USA
I really like this profile
Share it with others