Matthew Carroll, Developer in Atlanta, GA, United States
Matthew is available for hire
Hire Matthew

Matthew Carroll

Full-stack Developer

Atlanta, GA, United States

Toptal member since January 2, 2017

Bio

Matthew is a full-stack software engineer and contributor to Apple's Swift project. He graduated from Georgia Tech with a bachelor's degree in computer science in 2002. Since then, Matthew has developed in C/Unix, Java/Spring, full-stack web, Python, and Go. Matthew is committed to software engineering excellence and is available to travel to client sites.

Portfolio

Liberate Innovations, Inc.
Python, TypeScript, React, Node.js, Open-source LLMs...
Elevance Health
FastAPI, PyTorch, Pytest, PIP, Software Engineering, Python, Back-end, Docker...
Elevance Health
TypeScript, React, Tailwind CSS, GraphQL, React Apollo, Apollo Server...

Experience

  • SQL - 6 years
  • MongoDB - 4 years
  • TypeScript - 2 years
  • Python - 2 years
  • JavaScript - 2 years
  • React - 2 years
  • GraphQL - 2 years
  • Go - 1 year

Preferred Environment

Amazon Web Services (AWS), SQL, Node.js, TypeScript, Go, Python, FastAPI, CI/CD Pipelines, Express.js, MongoDB

The most amazing...

...system that I've developed was a real-time notification system that delivers push notifications to production iOS and Android apps, using Apache Kafka.

Work Experience

Full-stack Python, TypeScript, and React Developer

2025 - PRESENT
Liberate Innovations, Inc.
  • Developed FastAPI-based APIs to handle inbound calls via WebSockets and Telnyx, and outbound calls via Twilio.
  • Designed relational database management system (RDBMS) schemas and implemented migrations for PostgreSQL and Prisma.
  • Converted UI designs into React components using Material UI.
  • Developed GraphQL queries and resolvers to deliver data to front-end applications.
Technologies: Python, TypeScript, React, Node.js, Open-source LLMs, Large Language Models (LLMs), APIs, Amazon Web Services (AWS), Call Centers, AI Agents, WebSockets, Prisma, PostgreSQL, GraphQL, Software Engineering, FastAPI, Relational Database Services (RDS), Back-end Development, API Architecture, Python 3, API Integration

Back-end Engineer

2023 - 2024
Elevance Health
  • Engineered gRPC APIs in Go (with Protobuf) that delivered HL7 FHIR resources to clients, enabling the customization of JupyterLab workspaces and improving configuration speed.
  • Led the development of a FastAPI microservice in Python that used natural language processing (NLP) to classify and route free-form English questions, providing a unified API for call center agents.
  • Developed enhancements to the NLP functionality of a data science team's Intent Detection package by fixing bugs, upgrading dependencies, improving performance, and making data immutable across the package API.
  • Devised and implemented a plan to extract the NLP functionality from the data science team’s web app into a custom Python package, publish it to the private Python Package Index, and integrate it into the continuous integration pipeline.
  • Developed a process to automate testing and publishing the data science team's Intent Detection package for scheduled releases.
  • Pioneered automated integration tests in Python to validate FHIR-based references and values in the FHIR resources created by an ETL pipeline that produced resources for 70 million patients, reducing the testing time of QA from days to minutes.
  • Directed an effort with DevOps to develop a deployment pipeline that ran multiple types of tests (security scanning, type-checking, linting, formatting, unit tests) on the source code, built the server, and deployed it to Kubernetes clusters.
  • Implemented async unit tests for the server using Pytest, asyncio, and AnyIO for our code coverage goal of 90%.
  • Implemented APIs to fetch LPRs from Google Cloud Storage (similar to Amazon S3).
  • Collaborated with stakeholders to design the interface schema (JSON) of the API server.
Technologies: FastAPI, PyTorch, Pytest, PIP, Software Engineering, Python, Back-end, Docker, APIs, REST APIs, Microservices, Distributed Systems, SBERT, Data Pipelines, Asyncio, Back-end Development, MongoDB, Docker Compose, Redis, JSON REST APIs, Relational Database Services (RDS), Large-scale Distributed Systems, Go, gRPC, Protobuf, Kubernetes, Rancher, GitLab CI/CD, HL7 FHIR Standard, Git, Automated Testing, NoSQL, OpenAI API, Machine Learning, RabbitMQ, Message Queues, Event-driven Programming, Algorithms, Data Structures, Python 3, Multithreading, System Architecture, API Integration, OpenAI, Call Centers, Pydantic, Pachyderm, Fast Healthcare Interoperability Resources (FHIR), Cloud, API Architecture

Full-stack Software Engineer

2020 - 2023
Elevance Health
  • Developed GraphQL APIs on the server in TypeScript for Node.js that fulfilled front-end GraphQL operations for user logins, user registrations, and content from our content management system.
  • Built PostgreSQL schemas and migrations to support new and evolving features for the business.
  • Developed content models in our content management systems (AEM, Strapi, and Contentful) that served content to the production site anthem.ai.
  • Built React hooks to run GraphQL operations to fetch data from the server.
  • Converted UI designs into React components and Tailwind utilities.
  • Developed back-end and front-end unit tests in TypeScript/Jest.
  • Built configurations for automated GitLab pipelines that linted, tested, and built Docker images of the bundle and server and deployed them to the production environment.
Technologies: TypeScript, React, Tailwind CSS, GraphQL, React Apollo, Apollo Server, PostgreSQL, Node.js, Adobe Experience Manager (AEM), Strapi, Contentful, Jest, GitLab CI/CD, Continuous Deployment, Software Engineering, Back-end, CI/CD Pipelines, Express.js, Docker, Kubernetes, APIs, Relational Database Services (RDS), Distributed Systems, CSS, Front-end, Web Applications, Git, Automated Testing, Full-stack, Full-stack Development, Authentication, Concurrency, Algorithms, Data Structures, Python 3, Multithreading, Code Review, System Architecture, SQL, API Integration, Back-end Development, Cloud

Full-stack Software Engineer (via Toptal)

2019 - 2020
Anthem
  • Developed an event-driven messaging system with Node.js, Kafka, MongoDB, and AWS Pinpoint to deliver push notifications to the Anthem Sydney iOS and Android apps.
  • Built a Node.js microservice to consume push notification requests from a Kafka topic, send push notification requests to Amazon Pinpoint, process the response, and produce messages to Kafka topics about the state of the Amazon Pinpoint requests.
  • Developed a Node.js microservice to update states of messages in a MongoDB by consuming messages from a Kafka topic about the result of push notification requests to Amazon Pinpoint. The service produces Kafka messages if the database update fails.
  • Developed a Node.js microservice with REST APIs to update which fitness device users of the Sydney web, iOS, and Android apps use to track their fitness data. This service is used by the Sydney web and mobile apps.
  • Created features for the Anthem Sydney iOS app (https://apps.apple.com/us/app/sydney-health/id1463423283). The team was composed of 20 iOS developers.
  • Built a jailbreak detection and defense mechanism for the Sydney iOS app. This mechanism detects when the Sydney app is running on a jailbroken iOS device and prevents the app from running in those cases.
  • Built a large set of device integration features for the Sydney iOS app whereby users can sync their HealthKit and fitness device (Fitbit, Garmin, etc.) data with the Sydney app, using Validic as an integrator of health data.
  • Merged 16 Xcode projects in four Git repos into one Xcode project and one Git repo. This mono repo effort reduced overhead on the 20-person iOS developer team during feature development and PR management. Built Ruby scripts to support the merging.
  • Implemented SSL certificate pinning in the iOS app.
  • Implemented a security feature in the Sydney iOS app where the app logs out the user after a period of inactivity. Used GCD timers and UIGestureRecognizer to observe touches on the UIWindow and log out the user after a period of inactivity.
Technologies: Amazon Web Services (AWS), Swift, Apache Kafka, Node.js, TypeScript, Swagger, JavaScript, RESTful Microservices, Software Engineering, Back-end, MongoDB, APIs, REST APIs, Java, Relational Database Services (RDS), Amazon Pinpoint, Front-end, Web Applications, Git, Automated Testing, Jenkins, Full-stack, Full-stack Development, UIKit, Authentication, HTML, NoSQL, Concurrency, Grand Central Dispatch, Browser Automation, Message Queues, Event-driven Programming, Algorithms, Data Structures, iOS SDK, Xcode, Code Review, System Architecture, CI/CD Pipelines, API Integration

iOS Security Engineer

2018 - 2019
Yinkozi
  • Developed features for the Yinkozi iOS security container in Swift, C, and Objective-C. It's a library, unit tests, and a set of supporting bash and Ruby tools that provide security features for iOS apps that link with it.
  • Developed features for our security container, including system call protection controls, device integrity controls (jailbreak detection), app integrity controls, binary hardening controls, app data protection, and certificate pinning.
  • Developed Swift APIs to provide iOS device integrity controls (jailbreak detection) to client apps and application integrity controls such as iOS app bundle validation and the App Store receipt validation.
  • Developed Swift APIs to validate the symbol addresses of imported iOS system symbols used by the container, such as symbols in the iOS keychain, FileManager, and security framework.
  • Implemented data protection in Swift and C, including encrypting/decrypting app data, writing to and reading from disk, encryption key wrapping, and iOS keychain wrapping.
  • Developed Swift APIs for SSL certificate pinning to provide server identification integrity for client iOS apps.
  • Developed a pre-built Bash script to configure the container's source code to be built for the configuration of the client app. The configuration enables client apps to set security controls.
  • Wrote a container post-build bash script to apply binary hardening to the client iOS app Mach-O, such as _cstring encryption, constants obfuscation, and Mach-O validation. Wrote scripts in Bash to obfuscate container and client app source code.
  • Developed a supporting Ruby script to install and integrate the Yinkozi iOS security container into client Xcode projects using the Ruby gem Xcodeproj: www.rubygems.org/gems/xcodeproj.
  • Wrote usage documentation for clients. The docs show clients how to integrate the container into their Xcode project, build the container's dependencies, import the container into the source of their iOS app, and use the container API in their app.
Technologies: OpenSSL, Cryptography, C, Swift, iOS, Git, Automated Testing, UIKit, iOS SDK, Xcode, Code Review, Objective-C, Low-level Programming, iOS Native Libraries, Software Engineering

Senior iOS Engineer

2018 - 2019
YouVersion
  • Developed new features in Swift 4 for Bible Lens, available in the iOS App Store with over 1 million installations.
  • Profiled the app's memory use with instruments to find the root cause of the app crashing due to excessive memory use. Analysis of instruments showed that the app used 1.5-2 GB of memory when parsing image metadata JSON files stored on disk.
  • Remodeled the app's image metadata in Core Data and refactored how the app cached, fetched, and presented the images. Used the image metadata in the view layers of the app. This provided a significant reduction in average and high water memory use.
  • Internationalized and localized the app to support multiple languages.
  • Developed an in-app language selection feature that allows the user to set the application language to one different from the device language.
  • Built delivering local user notifications showing newly available images in the in-app language the user has selected.
  • Implemented managing app dependencies with Carthage.
  • Used the Fastlane framework to deploy builds to TestFlight.
  • Used the Crowdin localization platform to translate localized application text (Crowdin.com).
  • Implemented caching and updated the app settings using the Firebase SDK.
Technologies: Crowdin, Fastlane, Carthage, Firebase, Apple Push Notifications, Core Data, Swift, iOS, Git, Automated Testing, UIKit, Concurrency, Grand Central Dispatch, iOS SDK, Xcode, Code Review

Senior iOS Engineer

2017 - 2018
Jumpnet
  • Developed features for the Jumpnet VPN iOS app, Jumpnet VPN iOS SDK, and Jumpnet VPN iOS network extension using the native iOS VPN subsystem.
  • Implemented portions of the low-level Jumpnet VPN protocol in the Jumpnet iOS SDK in Swift and Jumpnet iOS network extension.
  • Installed the Jumpnet VPN iOS network extension (an application extension) as a NEPacketTunnelProvider using the NetworkExtension framework and iOS VPN system.
  • Developed an in-app purchase feature for users to buy various Jumpnet subscriptions (annual, 6-month, and 1-month).
  • Managed client-side communication with Jumpnet server over DTLS using Open Transport on iOS. Open Transport is a macOS and iOS framework that establishes Secure Sockets Layer (SSL) sessions to facilitate secure communication between client and server.
  • Fixed bugs in the C VPN library of the server app that caused the app to crash when streaming data simultaneously on wifi and cellular.
  • Debugged control packets with invalid commands implemented in a custom VPN protocol over TCP/IP using Wireshark.
Technologies: Datagram Transport Layer Security (DTLS), Transport Layer Security (TLS), SSL, NEPacketTunnelProvider, VPN, Swift, iOS, Git, Automated Testing, UIKit, Concurrency, Grand Central Dispatch, iOS SDK, Xcode, Code Review

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 new 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: Swift, iOS, Git, Automated Testing, UIKit, Concurrency, iOS SDK, Xcode, Code Review

Senior iOS Developer | Arduino Developer

2017 - 2017
Humidifall
  • Developed the Humidifall iOS app. 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.
  • Built 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) in order to send/receive messages to/from the Arduino and upload application data from the Arduino to store in DynamoDB.
Technologies: Internet of Things (IoT), Amazon Web Services (AWS), C++, Arduino, iOS, Git, Automated Testing, UIKit, iOS SDK, Xcode

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 an endpoint service type in the library that vended Observable<T> so that clients could observe weather data events for locations in the form of a latitude-longitude. For example, clients could observe a location (e.g. latitude 33.1, longitude -84.1) and then subscribe to next events in the stream. Then when the next event was observed in the stream, the client would update its view with the observed type T weather data for that location, or if the event was an error, handle the error appropriately.
  • 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: JSON, REST, Apple Watch, Mapbox, MapKit, RxSwift, Core Data, tvOS, WatchOS, iOS, Git, Automated Testing, UIKit, Concurrency, Grand Central Dispatch, iOS SDK, Xcode, Code Review, GitHub, Objective-C

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: Media Players, Keychain, JSON, REST, AVFoundation, Core Location, iBeacon, iOS, Git, Automated Testing, UIKit, Grand Central Dispatch, iOS SDK, Xcode, Objective-C

Full-stack Software Engineer

2007 - 2010
MedQuist
  • Developed Jakarta EE Web Services (Spring, JPA, JPQL, Hibernate, Oracle) that enabled administrators to manage medical transcripts from doctors' offices.
  • Developed a feature to store document workflows on our enterprise workflow management system.
  • Developed a feature to route and deliver documents captured from our dictation management system.
Technologies: Java EE (Jakarta EE), Spring, Hibernate, JPA, Java Persistence Query Language (JPQL), Oracle, Code Review

Experience

The Swift Project

https://topt.al/Vac5jk
Enhanced Apple’s Swift compiler with 598 lines of C++ code via nine pull requests and code reviews with Apple engineers over the course of three months.

My pull requests were merged into Apple/Swift master:
https://github.com/swiftlang/swift/pulls?q=is%3Apr%20author%3Amatthewcarroll

Sydney Health

Sydney Health is an iOS Swift app that provides services for Anthem members. I developed a large set of Device Integration features for the Sydney iOS app. Users can sync their HealthKit and fitness device (Fitbit, Garmin, etc.) data with the Sydney app, using Validic as an integrator of health data: Validic.com.

Algorithmics Exercises

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.

Functional Programming Principles in Scala

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

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

The Weather iOS App

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.

Education

1999 - 2002

Bachelor of Science Degree in Computer Science

Georgia Institute of Technology - Atlanta, GA, USA

Skills

Libraries/APIs

Node.js, REST APIs, iOS Extensions, React, Playwright, Pydantic, iOS Native Libraries, RxSwift, OpenSSL, Alamofire, Facebook SDK, Google Analytics API, Common Crypto, CocoaPods, Firebase iOS SDK, Mapbox iOS SDK, Fabric, PySpark, Protobuf, PyTorch, Python Asyncio, Asyncio, OpenAI API

Tools

Xcode, MongoDB Shell, Interface Builder, Auto Layout, Charles, GitLab CI/CD, Git, Jenkins, Grand Central Dispatch, RabbitMQ, GitHub, Prisma, AWS IAM, VPN, iOS Instruments, Instruments, Apple Push Notifications, Fastlane, Crashlytics, Pachyderm, React Apollo, Adobe Experience Manager (AEM), Pytest, Docker Compose

Languages

Swift, Objective-C, Python, JavaScript, TypeScript, Java, SQL, GraphQL, Go, CSS, HTML, Java Persistence Query Language (JPQL), Python 3, C++, C, Ruby, Scala, Bash, YAML, Snowflake

Frameworks

iOS SDK, Express.js, Core Data, UIKit, XCTest, Core Location, WatchKit, Tailwind CSS, Django, Hibernate, Next.js, Spring, JPA, Media Players, Play Framework, Core Bluetooth, External Accessory, Address Book, MapKit, React Native, Swagger, gRPC, Jest

Platforms

iOS, Apache Kafka, Amazon Web Services (AWS), MacOS, AWS Lambda, Apple Watch, Docker, WatchOS, tvOS, Kubernetes, Unix, Oracle, Java EE (Jakarta EE), Mapbox, Android, Firebase, Crowdin, Arduino, Keychain, Parse, Parse Server, AWS IoT, Rancher, Contentful

Paradigms

REST, Microservices, Microservices Architecture, Service-oriented Architecture (SOA), Object-oriented Programming (OOP), Automated Testing, API Architecture, Event-driven Programming, Testing, Functional Programming, Fast Healthcare Interoperability Resources (FHIR), Continuous Deployment, HL7 FHIR Standard

Storage

MySQL, JSON, PostgreSQL, Data Pipelines, MongoDB, NoSQL, Amazon S3 (AWS S3), Redis

Other

Code Review, Amazon Pinpoint, RESTful Microservices, System Design, APIs, Code Architecture, Technical Leadership, iOS Camera, Back-end, AVFoundation, Carthage, GCD, UI Testing, Software Engineering, FastAPI, CI/CD Pipelines, Technical Writing, Relational Database Services (RDS), Distributed Systems, Back-end Development, Front-end, Web Applications, Cloud, Full-stack, Full-stack Development, Authentication, Concurrency, Browser Automation, Message Queues, Data Structures, Algorithms, Multithreading, System Architecture, Software Architecture, API Integration, Call Centers, Low-level Programming, iBeacon, Card.io, Jumio, Web Services, NEPacketTunnelProvider, SSL, Transport Layer Security (TLS), Datagram Transport Layer Security (DTLS), Cryptography, Internet of Things (IoT), Security, Urban Airship, Bonjour, Apollo Server, Strapi, PIP, SBERT, JSON REST APIs, Large-scale Distributed Systems, Machine Learning, OpenAI, Open-source LLMs, Large Language Models (LLMs), AI Agents, WebSockets

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring