David Reich, Developer in Kearneys Spring, Australia
David is available for hire
Hire David

David Reich

Verified Expert  in Engineering

iOS Developer

Location
Kearneys Spring, Australia
Toptal Member Since
November 12, 2013

David is a seasoned software developer. He has worked on enterprise-scale apps as part of large teams, as the sole developer, and everywhere in between. He has been a part of cross-functional and multicultural teams. David has worked on greenfield apps, legacy apps, and those in between.

Portfolio

Elysium Digital
Agile Software Development, iOS, Swift, SwiftUI, App Store, TestFlight...
Stellar Software Pty, Ltd.
GameKit, Core Graphics, Core Data, UIKit, Cocoa Touch, Xcode, Objective-C...
Domestic Cat Pty Ltd
Agile Software Development, iOS, Swift, SwiftUI, App Store, TestFlight...

Experience

Availability

Full-time

Preferred Environment

MacOS, iOS, Xcode

The most amazing...

...recent app I've built is for musical instrument performance training. It displayed/played a musical score and listened to/evaluated the student's performance.

Work Experience

Senior Consultant

2023 - PRESENT
Elysium Digital
  • Served as a senior iOS developer embedded on the client team working on an iOS application.
  • Added incremental features and bug fixes on the UIKit/SwiftUI app.
  • Worked on new features for an existing legacy application.
Technologies: Agile Software Development, iOS, Swift, SwiftUI, App Store, TestFlight, Mobile Development, APIs, iOS API, REST, Mobile App Development, iOS SDK, Use Cases, iOS Frameworks, Figma, Jira, REST APIs, iOS Native Libraries, Mobile, GitHub, Xcode, Git, Object-oriented Programming (OOP), Apple, Core Foundation

Principal

2002 - PRESENT
Stellar Software Pty, Ltd.
  • Created several SwiftUI open source repositories on GitHub: SwiftUIReference, SwiftUICombined, Classic Life, and GridDragView. The first ones are SwiftUI examples. Classic Life is a tribute to John H Conway. GridDragView is a SwiftUI grid control.
  • Designed and developed four apps in the App Store. Additional apps are under development. Stellar Dots & Boxes, Stellar Cram, Stellar Hedron, and Trxilt are multiplayer (or vs. AI) games using Game Center and derived from pencil-and-paper games.
  • Worked with Xcode, Swift, Objective-C. UIKit, Cocoa Touch, SwiftUI, Combine, CoreData, CoreGraphics, GameKit, and Game Center.
Technologies: GameKit, Core Graphics, Core Data, UIKit, Cocoa Touch, Xcode, Objective-C, Swift, iOS, App Store, Mobile Development, APIs, REST, Mobile App Development, Design, iOS SDK, Model View ViewModel (MVVM), iOS Frameworks, User Interface (UI), User Experience (UX), Jira, REST APIs, Agile Software Development, iOS Native Libraries, Mobile, GitHub, Git, SwiftUI, Object-oriented Programming (OOP), Apple, Core Foundation

Senior iOS Developer

2021 - 2023
Domestic Cat Pty Ltd
  • Served as a lead developer on Greenfield iOS SwiftUI applications for clients.
  • Worked on apps in the fitness, well-being, and stock trading space.
  • Developed and implemented source code architecture using reusable components.
Technologies: Agile Software Development, iOS, Swift, SwiftUI, App Store, TestFlight, Mobile Development, APIs, REST, Mobile App Development, Design, iOS SDK, AVPlayer, Model View ViewModel (MVVM), Firebase, iOS Frameworks, User Interface (UI), User Experience (UX), Figma, Jira, REST APIs, iOS Native Libraries, Mobile, GitHub, Xcode, Git, Object-oriented Programming (OOP), Apple, Core Foundation

iOS Software Developer

2020 - 2021
Yo Labs
  • Worked on a prototype application to register and configure a prototype IoT device.
  • Added QR code scanning and Mbed TLS encryption handshaking for BLE.
  • Updated Amazon FreeRTOS code and preserved proprietary modifications.
Technologies: Xcode, Swift, iOS, Amazon FreeRTOS, Mbed TLS, GitHub, Mobile Development, APIs, REST, Mobile App Development, Internet of Things (IoT), iOS SDK, Model View ViewModel (MVVM), iOS Frameworks, User Interface (UI), User Experience (UX), Jira, Agile Software Development, iOS Native Libraries, Mobile, Object-oriented Programming (OOP), Apple, Core Foundation

iOS Software Developer

2020 - 2020
We Quilt, Inc.
  • Worked on the Quilt audio-only chat beta application.
  • Created and modified SwiftUI Views and user interface screens, and added new features.
  • Used Swift and SwiftUI. App used Agora to manage the chat and GraphQL for the backend.
Technologies: Apollo, GraphQL, Agora, Xcode, iOS, SwiftUI, Swift, App Store, TestFlight, Mobile Development, APIs, REST, Mobile App Development, iOS SDK, Model View ViewModel (MVVM), iOS Frameworks, User Interface (UI), User Experience (UX), Jira, REST APIs, Agile Software Development, iOS Native Libraries, Mobile, GitHub, Git, Object-oriented Programming (OOP), Apple, Core Foundation

iOS Software Developer

2020 - 2020
Flatfox AG
  • Worked on the Flatfox rental listing app for the Swiss market.
  • Performed code reviews of SwiftUI code. Refactored SwiftUI code.
  • Used Swift. SwiftUI, Xcode, GitHub for refactoring and review.
Technologies: UIKit, SwiftUI, Swift, iOS, Xcode, App Store, TestFlight, Mobile Development, APIs, REST, Mobile App Development, iOS SDK, Model View ViewModel (MVVM), iOS Frameworks, User Interface (UI), User Experience (UX), Jira, REST APIs, Agile Software Development, iOS Native Libraries, Mobile, GitHub, Git, Object-oriented Programming (OOP), Apple, Core Foundation

iOS Software Developer

2020 - 2020
Halfspace LLC
  • Worked on Sculptura 3D, tasked with converting the user interface from UIKit to SwiftUI.
  • Created SwiftUI Views. Refactored UIKit UIViewControllers into SwiftUI Views.
  • Used UIViewRepresentable, UIHostingController, NSHostingController and Xcode, Swift, SwiftUI, MetalKit, Git/GitHub.
Technologies: SwiftUI, Xcode, iOS, UIKit, Swift, TestFlight, Mobile Development, APIs, REST, Mobile App Development, iOS SDK, iOS Frameworks, User Interface (UI), User Experience (UX), Jira, REST APIs, Agile Software Development, iOS Native Libraries, Mobile, GitHub, Git, Object-oriented Programming (OOP), Apple, Core Foundation

Senior iOS Engineer

2018 - 2020
Cognizant Technology Solutions
  • Developed POCs using ARKit and CoreML.
  • Completed courses or tutorials on scikit-learn, TensorFlow, and SwiftUI.
Technologies: Core ML, ARKit, Swift, UIKit, App Store, TestFlight, Augmented Reality (AR), Mobile Development, APIs, REST, Mobile App Development, Design, iOS SDK, Model View ViewModel (MVVM), iOS Frameworks, User Interface (UI), User Experience (UX), Jira, REST APIs, iOS, Agile Software Development, iOS Native Libraries, Mobile, GitHub, Xcode, Git, SwiftUI, Object-oriented Programming (OOP), Apple, Core Foundation

iOS Software Developer

2018 - 2019
ANZ
  • Developed for ANZ’s main consumer application.
Technologies: PDF, Cocoa Touch, UIKit, App Store, TestFlight, Mobile Development, APIs, REST, Mobile App Development, iOS SDK, Model View ViewModel (MVVM), Firebase, iOS Frameworks, User Interface (UI), User Experience (UX), Jira, REST APIs, iOS, Agile Software Development, iOS Native Libraries, Mobile, Swift, GitHub, Xcode, Git, Object-oriented Programming (OOP), Apple, Core Foundation

iOS Software Developer

2018 - 2018
Suncorp Group
  • Developed for the greenfield Suncorp App on iOS.
Technologies: Swinject, RxSwift, Cocoa Touch, UIKit, App Store, TestFlight, Mobile Development, APIs, REST, Mobile App Development, iOS SDK, Model View ViewModel (MVVM), iOS Frameworks, User Interface (UI), User Experience (UX), Jira, REST APIs, iOS, Agile Software Development, iOS Native Libraries, Mobile, Swift, GitHub, Xcode, Git, Object-oriented Programming (OOP), Apple, Core Foundation

iOS Software Developer

2017 - 2017
Medibio Limited
  • Added Fitbit server data download to an existing healthcare app.
  • Refactored an excessively large legacy storyboard.
  • Created a new application focused on ResearchKit.
Technologies: ResearchKit, Cocoa Touch, UIKit, App Store, TestFlight, Mobile Development, APIs, REST, Mobile App Development, iOS SDK, iOS Frameworks, User Interface (UI), User Experience (UX), Jira, REST APIs, iOS, Agile Software Development, iOS Native Libraries, Mobile, Swift, GitHub, Xcode, Git, Object-oriented Programming (OOP), Apple, Core Foundation

Senior Software Developer

2017 - 2017
Megabus Pty, Ltd.
  • Helped prepare Marlin GTX for introduction to the US market.
  • Maintained features and fixed bugs.
Technologies: Windows XP, Btrieve, Embarcadero RAD Studio, SQL, C++, C, User Interface (UI), User Experience (UX), Jira, REST APIs, Agile Software Development, Object-oriented Programming (OOP)

iOS Software Engineer

2016 - 2017
Australia Post
  • Worked on the Digital ID project.
  • Developed native iOS apps in Swift.
Technologies: Alamofire, UIKit, Cocoa Touch, Swift, Xcode, iOS, App Store, TestFlight, Mobile Development, APIs, REST, Mobile App Development, iOS SDK, iOS Frameworks, User Interface (UI), User Experience (UX), Jira, REST APIs, Agile Software Development, iOS Native Libraries, Mobile, GitHub, Git, Object-oriented Programming (OOP), Apple, Core Foundation

Software Developer

2016 - 2016
Musikyoshi
  • Developed an app for teaching musical instrument performance.
Technologies: AVFoundation, Core Graphics, Core Data, UIKit, Cocoa Touch, Swift, Xcode, iOS, App Store, TestFlight, Mobile Development, APIs, REST, Mobile App Development, Design, iOS SDK, iOS Frameworks, User Interface (UI), User Experience (UX), Jira, Agile Software Development, iOS Native Libraries, Mobile, GitHub, Git, Object-oriented Programming (OOP), Apple, Core Foundation

Software Developer

2015 - 2016
Tennis Australia
  • Added features to existing apps.
  • Handled the successful submission of the AO Player app to the App Store. The AO Player app is for the use of players at the Australian Open. The 7+ other apps are for internal distribution and are part of the operation of the Australian Open.
  • Covered the user interface, data entry, and display.
Technologies: Core Graphics, Core Data, UIKit, Cocoa Touch, Objective-C, Xcode, iOS, Mobile Development, APIs, REST, Mobile App Development, iOS SDK, iOS Frameworks, User Interface (UI), User Experience (UX), Jira, REST APIs, Agile Software Development, iOS Native Libraries, Mobile, GitHub, Git, Object-oriented Programming (OOP), Apple, Core Foundation

Software Developer

2015 - 2015
Fob App, Inc.
  • Created an iOS application focused on image manipulation and composting, using images from the device. The app uses the camera, image picker, and gesture recognizers and connects to AWS and Facebook cloud services, sharing images with Facebook, Instagram, and other social networking sites and external apps.
  • Contributed to the user interface, database design, and display.
Technologies: Message UI, Core Graphics, Facebook SDK, AWS SDK, Core Data, UIKit, Cocoa Touch, Xcode, Swift, iOS, App Store, TestFlight, Mobile Development, APIs, REST, Mobile App Development, Design, iOS SDK, iOS Frameworks, User Interface (UI), User Experience (UX), Jira, REST APIs, Agile Software Development, iOS Native Libraries, Mobile, GitHub, Git, Object-oriented Programming (OOP), Apple, Core Foundation

Software Developer

2015 - 2015
Startup Company
  • Created new apps, added new features, and fixed bugs on existing apps.
  • Implemented the apps to use iBeacons in a proprietary manner as a key component of the system.
  • Used JSON to wrap the data to and from a REST API. The work covered the user interface, data entry, and display.
Technologies: Core Location, Core Data, UIKit, Core Foundation, iBeacon, Xcode, Swift, iOS, App Store, TestFlight, Mobile Development, APIs, REST, Mobile App Development, Internet of Things (IoT), iOS SDK, iOS Frameworks, User Interface (UI), User Experience (UX), REST APIs, Agile Software Development, iOS Native Libraries, Mobile, GitHub, Git, Object-oriented Programming (OOP), Apple

Senior Developer

2014 - 2015
Praemium Limited
  • Worked mostly on incremental features and bug fixes covering the user interface, data entry, and display. Also worked with business rules in the front end, Windows services, and SQL stored procedures.
  • Handled C#, Visual Basic, SQL, and JavaScript source code development and maintenance.
  • Modified database schema (added/changed tables).
Technologies: Windows Server, Microsoft SQL Server, XML, SQL, T-SQL (Transact-SQL), Visual Basic, C#, SQL Server Management Studio (SSMS), User Interface (UI), User Experience (UX), Object-oriented Programming (OOP)

Senior Software Developer

2012 - 2014
Megabus Pty, Ltd.
  • Worked on broad incremental features that were manually applied across all modules.
  • Fixed a problem due to the structural design of the run-time architecture of how the application ran its modules. Modified (outside of rewriting a key part of the run-time library) almost 200 dialogs and all the places that create those dialogs.
  • Made dialogs asynchronous, which required all the creators of those dialogs to use callback methods. Wrapped the dialogs in several library classes. Created asynchronous versions of these classes and callback wrapper classes so that a minimal amount of identical new code needed to be added to the existing codebase.
  • Wrote extensive documentation about the problem, describing its cause and the solution. Included documentation of the new classes and developer guides for modifying existing code and creating new code using the new classes. I conducted a training session for the development team.
  • Handled maintenance (bug fixes and features) of the user interface, data entry and display, and business rules.
Technologies: Windows XP, Btrieve, Embarcadero RAD Studio, SQL, C++, C, User Interface (UI), User Experience (UX), Jira, REST APIs, Agile Software Development, Object-oriented Programming (OOP)

Senior Analyst Programmer

2012 - 2013
IGT (Australia) Pty, Ltd.
  • Worked on incremental features and bug fixes.
  • Created SSRS (SQL Server Reporting Services) reports, including associated SQL stored procedures.
  • Designed and implemented a New Promotion Wizard to improve the user interface.
  • Designed and implemented the reorganization and combination of several configuration dialogs.
  • Added DirectShow support for USB cameras for ID photos, etc. within a C# module.
  • Wrote specifications for the Promotion Wizard, the configuration dialog reorganization, and the addition of some new features.
  • Handled maintenance (bug fixes and features) of the user interface, data entry and display, and business rules in both the client-side application and on the server-side in stored procedures.
Technologies: Windows XP, Microsoft SQL Server, SQL Server Reporting Services (SSRS), SQL Server Management Studio (SSMS), XML, T-SQL (Transact-SQL), SQL, C#, C++, Design, User Interface (UI), User Experience (UX), Jira, REST APIs, Agile Software Development, Object-oriented Programming (OOP)

Senior Developer

2010 - 2011
Momentum Technologies Solutions Pty, Ltd.
  • Added AES-256 encryption/decryption to Windows-based C# broadcast and media server applications, using the Bouncy Castle C# library. Used the Crypto++ library for the C++ ActiveX control.
  • Expanded the use of DirectShow filters in the encoding software, standardizing the mechanics of the construction of the filter graph. Incorporated encoder, motion detector, and de-interlace filters from Leadtools. Developed a filter to flip or rotate the video frame. Created classes to configure the motion detector filter and provide detection callback objects.
  • Used the Windows Driver Kit. Built (from open source software) a device driver to monitor the GPIO port on the video capture platform.
  • Reconstructed and documented the build system, setting it up on a set of Windows 7 virtual machines, providing portability, reproducibility, and backup. Created the next-generation build system to support building the next version of all applications and their installers.
  • Investigated and developed a proof-of-concept broadcast system using the Wowza Media Server to rebroadcast live video from a proprietary media server to a wider range of viewing platforms. Modified and tested Flash players using Flash Builder 4.5.
Technologies: Wowza, NAnt, Windows XP, Windows Server 2008, AES, DirectShow, Visual Studio, XML, C#, C++, C, User Interface (UI), User Experience (UX), REST APIs, Object-oriented Programming (OOP)

Senior Software Developer

2009 - 2010
Megabus Pty, Ltd.
  • Worked on a project to rewrite/redesign/migrate/convert a legacy system into a modern GUI, Marlin GTX. Rewrote Microsoft PDS Basic programs into C++ on C++ Builder 2009, and also rewrote Watcom C++ and C++ Builder 6 applications using Btrieve into C++ Builder 2009/2010. Changed the database implementation from a Btrieve file-based model to a more SQL-compliant one. Worked on object, class, and user interface design.
  • Refactored a set of 42 data integrity calculation applications into one base C++ class and 42 derived constructor classes, and one singleton factory class to create the different calculation objects for each calculation type. Refactored because originally each calculation application was a separate application, with little common source code, and half of them were written in Basic, and the rest used a discarded database API; therefore, no smart refactoring tools could be used.
  • Refactored a second set of 38 data update applications written in Basic into one base C++ class, five derived modifications, and one singleton factory class to create the different update objects based upon a table of parameters for each update type.
  • Maintained (bug-fixes and features) the user interface, data entry and display, and business rules.
  • Converted all the project files for the entire system from Builder 2009 to Builder 2010. Wrote a small Perl script to change all text that previously included hardcoded link names and paths in the almost 200 project files.
Technologies: Windows XP, Perl, Pervasive PSQL, Btrieve, Embarcadero RAD Studio, XML, SQL, C++, User Interface (UI), User Experience (UX), Jira, REST APIs, Agile Software Development, Object-oriented Programming (OOP)

Senior Software Engineer

1994 - 2009
Barnum Software
  • Expanded the graphics supported from CGA to include EGA, VGA, and SVGA modes by converting the Quarter Mile Math program to use the FastGraph graphics library. Added animated horses to the existing animated racing cars.
  • Ported the program to OS 9 by creating a Mac toolbox replacement for the parts of FastGraph that we used.
  • Converted the math topics into Macintosh "code fragments."
  • Converted the original assembly language interrupt service timing code into C, which then ran on the Macintosh and was key to finally porting everything to Windows 3.1.
Technologies: OS X, Windows, Windows XP, XML, CodeWarrior, Visual Studio, Visual Studio .NET, C++, C, Design, User Interface (UI), User Experience (UX), Object-oriented Programming (OOP), Apple

Senior Software Engineer

1992 - 2009
LibraryWorld, Inc.
  • Developed the LibraryWorld family cross-platform Windows/Macintosh applications. Supported Windows XP, OS 9, and OS X using a common database.
  • Based the proprietary database around the MARC record. Used proprietary indexes to provide adequate performance on the desktop systems of the early 1990s.
  • Designed and implemented a proprietary report script and report engine for the LibraryWorld product line using a then state-of-the-art dot-command syntax. Implemented the report engine to display reports on-screen, print them, or write them to a file—all from the same script.
  • Planned the project to be stable and reliable, and my code has remained unchanged through 4-5 UI design evolutions.
  • Worked on the original LibraryWorld web version. Removed the UI, building a family of CGIs around this code. The CGIs provided most of the functionality of the LibraryWorld programs through the internet. LibraryNet was released in 1998 as a product for IIS and Apache on OS X. In 1999 and 2000, I created the LibraryCom web service, which replaced LibraryNet. The current LibraryWorld 2 web service was developed by LibraryWorld based upon my earlier designs.
  • Added library catalog record lookup on a web service and publishing catalog records to the web service by adding an asynchronous Telnet client to the applications.
Technologies: OS X, Windows, Windows XP, Apache HTTP Server, Java, JavaScript, HTML, CodeWarrior, Xcode, Microsoft Visual C++, Visual Studio, Visual Studio .NET, C++, C, Design, User Interface (UI), User Experience (UX), Object-oriented Programming (OOP), Apple

Senior Software Developer

2007 - 2008
Trimble Planning Solutions Pty, Ltd.
  • Completed a project to add support for internationalization to our application. Included migration of the source code from ASCII text to Unicode. The user interface text had to be extracted from the C++ source code and added to the resource files where it would be accessible to translation tools.
  • Managed translation of the language database and added automatic translation database maintenance and resource text translation to the build system.
  • Migrated the rest of the development team to the new version. Created installation and usage guides for the tools and source code changes. Directed and managed the transition of the development team to the new source code and new tools.
  • Began migration of the application data store from a proprietary flat-file system to a SQL database. Created a database schema representing the current data and planned enhancements. Developed a set of object templates to encapsulate the relational database and additional business logic. Developed a Visual Studio wizard to generate source code and store procedure scripts from the tables in the schema using those templates.
  • Converted the user manual in FrameMaker into a Microsoft help file.
  • Maintained (bug fixes and features) the user interface, data entry and display, and business rules.
  • Created and used a series of Visual Basic macros within Visual Studio to semi-automate the movement of text from the source code files into the resource files.
Technologies: DirectX, Windows XP, Firebird, Microsoft SQL Server, XML, SQL, Microsoft Visual C++, Visual Studio, C++, C, User Interface (UI), User Experience (UX), REST APIs, Agile Software Development, Object-oriented Programming (OOP)

Software Engineer

2006 - 2007
IGT Systems
  • Worked on the Commission-based Program Play (CBPP) module in requirements analysis, functional and technical specifications, user interface design, database specifications, software design, and programming implementation.
  • Developed an initial prototype of the module for the CBPP feature and used that prototype as a requirements analysis tool to elicit a greater degree of detail from the client regarding their functional requirements. Based on this, I developed a second prototype. Spent four days at the client site leading discussions with the client stakeholders to help them understand and decide upon the operation of the new feature so that I could refine and complete its specification.
  • Specified the database schema for configuration and operational data. Designed and wrote the application code to create, configure, and manage the CBPP programs and to calculate the rewards and commissions and the SQL stored procedures and functions for using and manipulating the data. Designed and implemented the user interface for all of this. Implemented the business logic in stored procedures and triggers that interacted asynchronously with other distributed applications and services. Except for the stored procedures and triggers, all programming was on the client-side. Also provided deployment support for the system’s installation in Macau.
  • Worked on an interface between the Advantage system and an external third-party CRM system. The interface was used to synchronize data and report events between the Advantage system and the CRM system. The interface was implemented as multi-threaded asynchronous TCP/IP client and server Windows services. The services, threads, asynchronous client, and asynchronous server were all implemented using the .NET framework, and the interface to the Advantage database was implemented using classes based upon ATL templates.
  • Maintained (bug-fixes and features) the user interface, data entry and display, and business rules.
Technologies: Windows XP, Microsoft SQL Server, Microsoft Visual C++, Visual Studio, Visual Studio .NET, XML, T-SQL (Transact-SQL), SQL, C++, User Interface (UI), User Experience (UX), Jira, REST APIs, Agile Software Development, Object-oriented Programming (OOP)

GridDragView (2020)

https://github.com/DavidSReich/GridDragView
GridDragView is a grid that allows a cell to be dragged up, down, left and right and the row or column will be dragged independently of all other rows and columns. Cells dragged off the grid will continuously wrap around and appear at the opposite edge.

Classic Life (2020)

https://github.com/DavidSReich/Classic-Life
A quick app.

Classic Life

In memoriam
John Horton Conway
1937 - 2020

SwiftUICombined (2020)

https://github.com/DavidSReich/SwiftUICombined
What is SwiftUICombined? It's SwiftUIReference meets Combine. SwiftUIReference is GiphyTags meets SwiftUI.

This is a SwiftUI reference app based upon GiphyTags and then updated with Combine. It is written in Swift 5 and Xcode Version 11.4.1 (11E503a)

SwiftUIReference (2020)

https://github.com/DavidSReich/SwiftUIReference
This is a SwiftUI reference app based upon GiphyTags.

It's GIPHYTags meets SwiftUI!!

GIPHYTags (2017)

https://github.com/DavidSReich/GIPHYTags
GIPHYTags was developed as an example of modern Swift coding and illustrates how to use many idioms and patterns of Swift and iOS development.

Older source code for my games is also available on my GitHub page.

Trxilt

Trxilt is a game derived from a pencil-and-paper game by Rick Nordal. It is a two-play game and can be played on a single device and through the Game Center.

Stellar Hedron

Stellar Hedron is based on a pencil-and-paper game. It's a two-player game and can be played on a single device, through the Game Center or against the AI. This app is written in Swift and uses the Cocoa Touch, UIKit, Core Graphics, and the GameKit. It can be played on an iPad or iPhone.

Selfie Test Drive

Selfie Test Drive was developed for Fob App, Inc. The app is for users to combine selfies and their own background with car photos. They can then save a picture of them in their new car in their own driveway. They can then share the results with their friends.

I created the app based upon designs and specification from fob. The application is focused on image manipulation and composting, using images from the device. The application uses the camera, image picker, and gesture recognizers; connects to AWS and Facebook cloud services; and shares images with Facebook, Instagram and other social networking sites and external apps. Technology used included the Cocoa Touch, UIKit, Core Data, Core Graphics, MessageUI, AWS, and Facebook frameworks and SDKs. The work covered the user interface, database design, and display.

Several versions were released after my version, but Fob has removed itself and the app from the App Store.

Stellar Cram

Stellar Cram is a misère version of Cram, which is an impartial version of Domineering. Stellar Cram is a two-player game and can be played on a single device, through the Game Center or against the AI. This app is written in Swift and uses the Foundation, UIKit, and the GameKit. It can be played on an iPad or iPhone.

Dots & Boxes

Stellar Dots & Boxes was developed in Objective-C. This is an expanded version of Dots & Boxes, which is a pencil-and-paper game called Pig or Pen-the-Pig or Boxes. Stellar Dots & Boxes has several unique features. It has triangular and hexagonal playing grids in addition to the usual square grid, and all three grids can be played in three different sizes. I've also implemented a "strings-and-coins" variant, which is also unique. There are also seven different color palettes which were designed to be distinct for people with impaired color vision. Stellar Dots & Boxes can be played by 2, 3, or 4 players or against the AI. It was conceived as a social game with players sitting together around an iPad (or iPhone). This app uses the Foundation and the UIKit. The iPad version was designed for the larger playing area and is not just a larger implementation of the iPhone version.

Languages

C, Swift, C++, GraphQL, Objective-C, SQL, C#, T-SQL (Transact-SQL), XML, Perl, HTML, JavaScript, Java, Visual Basic

Frameworks

SwiftUI, Core Foundation, UIKit, Cocoa Touch, iOS SDK, iOS Frameworks, Core Data, GameKit, .NET, Combine, Core Location, ResearchKit, Swinject, ARKit, Core ML, Message UI

Libraries/APIs

REST APIs, iOS Native Libraries, iOS API, RxSwift, CocoaPods, Core Graphics, Microsoft Foundation Class (MFC) Library, Microsoft Foundation Classes (MFC), Firebase iOS SDK, DirectShow, AES, DirectX, Facebook SDK, Alamofire, Scikit-learn, TensorFlow, Mbed TLS, Facebook iOS SDK

Tools

GitHub, Jira, Interface Builder, Auto Layout, Figma, Git, Xcode, TestFlight, AVPlayer, Visual Studio, NAnt, Wowza, Microsoft Visual C++, Visual Studio .NET, CodeWarrior, Apache HTTP Server, Agora, Amazon FreeRTOS, AWS SDK

Paradigms

Agile Software Development, Object-oriented Programming (OOP), XP, Mobile Development, REST, Unit Testing, RESTful Development, UX Design, Model View ViewModel (MVVM), Dependency Injection

Platforms

MacOS, iOS, Windows, Mobile, Apple, Firebase, Windows XP, Windows Server 2008, OS X, Windows Server

Industry Expertise

Photography

Other

User Interface (UI), SOLID Principles, App Store, APIs, SDKs, Mobile App Development, User Experience (UX), Design, Internet of Things (IoT), Image Processing, Machine Learning, Image Manipulation, Embarcadero RAD Studio, iBeacon, PDF, Apollo, AVFoundation, iOS Camera, iOS Video, Augmented Reality (AR), Use Cases

Storage

JSON, Microsoft SQL Server, Btrieve, SQL Server Management Studio (SSMS), SQL Server Reporting Services (SSRS), Pervasive PSQL, Firebird

1968 - 1975

Bachelor of Science Degree in Electrical Engineering

Massachusetts Institute of Technology - Cambridge, Massachusetts

JUNE 2019 - JUNE 2020

Certified SAFe® 4 Practitioner

Scaled Agile, Inc.

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