Dan Bodnar, Developer in Puerto de la Cruz, Spain
Dan is available for hire
Hire Dan

Dan Bodnar

Verified Expert  in Engineering

iOS Developer

Puerto de la Cruz, Spain

Toptal member since November 30, 2020

Bio

Dan is a passionate iOS developer (Swift and Objective-C) with 10+ years of experience and deep expertise in Bluetooth integration, networking, synchronization systems, and data persistence. He is a huge fan of reactive programming and implementing pixel-perfect applications. Dan has worked on a 100% remote basis for the past three years, and he is always thrilled to learn and apply new technologies and optimize how he works.

Portfolio

Kolibree
Firebase, TestFlight, Push Notifications, Fastlane, Code Coverage, Localization...
Visualismo
Swift 5, iOS, Combine, AVFoundation, Core Data, REST APIs...
Pentalog
Unit Testing, Firebase, TestFlight, In-app Purchases, Push Notifications...

Experience

  • Objective-C - 10 years
  • Swift - 6 years
  • Core Bluetooth - 6 years
  • Core Data - 5 years
  • RxSwift - 4 years
  • Realm - 4 years
  • SwiftUI - 1 year
  • Combine - 1 year

Availability

Part-time

Preferred Environment

Functional Reactive Programming, Functional Programming, Reactive Programming, Swift, RxSwift, MacOS, Xcode, iOS

The most amazing...

...thing about me is that I never say, "It can't be done."

Work Experience

Lead iOS Developer

2018 - 2022
Kolibree
  • Developed a pixel-perfect, highly reactive, Bluetooth-connected iOS application for one of the world's biggest consumer products companies.
  • Created an outstanding, independent watch application for the same client, using SwiftUI, Combine, Core Data for local storage, and Core Bluetooth to communicate with the peripheral directly from the watch.
  • Used RxSwift, RxCocoa, and Rx community frameworks in an MVVM-C architecture largely.
  • Wrote unit tests, integration/UI tests, snapshot tests, and pact tests.
  • Developed a series of widgets for iOS 14+ for the same application using SwiftUI.
  • Oversaw the project's continuous integration system and improved it with different tools, such as SwiftLint, SwiftFormat, and code coverage.
  • Improved the continuous deployment system for automating the builds and deployments.
  • Oversaw the preparation of test data, testing, and debugging during QA cycles.
  • Tracked bugs, crashes, and suggestions, using Instabug and Jira. Kept technical documents up-to-date and maintained them in Confluence.
  • Ensured that code review practices were fully adopted by a team of nine iOS developers working on the same project.
Technologies: Firebase, TestFlight, Push Notifications, Fastlane, Code Coverage, Localization, Code Review, Core Data, Unit Testing, Jenkins, Core Bluetooth, Git, Confluence, Jira, SwiftUI, Combine, RxSwift, RealmSwift, Realm, iOS, Swift

Senior iOS Developer

2020 - 2020
Visualismo
  • Developed a podcast application with live stream functionalities from scratch.
  • Built the entire ecosystem of the audio player with capabilities such as switching seamlessly between radios, downloading programs (in advance or over the internet), and live streaming with background use and offline use.
  • Developed the back-end integration in the app and the local persistence for offline use.
  • Built a complex and highly reactive in-app purchasing system.
Technologies: Swift 5, iOS, Combine, AVFoundation, Core Data, REST APIs, Model View ViewModel (MVVM), Reactive Programming, In-app Purchase (IAP), Swift

iOS Lead Developer

2017 - 2018
Pentalog
  • Developed a highly interactive, Bluetooth-connected medical iOS project consisting of a client and admin app.
  • Created a series of SDKs used internally in all the projects entering the company. This included a BLE connectivity framework (agnostic to any GATT protocol) that allowed projects to easily set up communication with any BLE peripheral device.
  • Introduced code-review practices and code-coverage requirements to all iOS teams within the company.
  • Proposed architectural designs and defined the technical stack for all projects entering the company.
  • Ensured team members correctly implemented the chosen development paradigms and principles.
  • Configured and maintained the continuous integration and continuous deployment system.
  • Developed proofs-of-concept, using the latest technologies.
Technologies: Unit Testing, Firebase, TestFlight, In-app Purchases, Push Notifications, Fastlane, Code Coverage, Code Review, Localization, Git, CocoaPods, Carthage, SDKs, Realm, RxSwift, Bluetooth Low Energy (LE), Jenkins, Objective-C, Swift

iOS Developer

2015 - 2017
Yourshore
  • Developed and released an iOS application for a research company client that worked in tight relations with some of the biggest universities on the West Coast.
  • Ensured that the application's key features were working in concordance with the client's demands.
  • Wrote unit tests for the service layers of the applications, reaching as high as 80% code coverage.
  • Implemented NSOperationQueue and NSURLConnection to integrate with back-end web services.
  • Oversaw the entire continuous integration and continuous deployment system for the iOS application.
Technologies: Unit Testing, Firebase, MVC Frameworks, TestFlight, In-app Purchases, Parse SDK, Push Notifications, Fastlane, Code Review, Core Bluetooth, Bluetooth Low Energy (LE), Core Data, Swift

iOS Lead Developer

2010 - 2015
Beler Soft
  • Developed a series of iOS applications in Objective-C and Swift for different clients in different fields of activity.
  • Implemented pixel-perfect UI elements using Auto Layout constraints and UIkit elements.
  • Led and guided teams to move toward using the MVVM design pattern to better improve code maintainability and testability. Led the iOS development teams and oversaw their work.
  • Maintained strong relationships with clients and defined high-level specifications, estimates, and deadlines.
Technologies: Unit Testing, Firebase, MVC Frameworks, TestFlight, In-app Purchases, Push Notifications, UIKit, SQL, Core Data, Objective-C, Swift

Web Developer

2008 - 2010
ServTotal
  • Developed a series of web applications for company's clients.
  • Implemented MVC architectures in .NET-specific frameworks.
  • Maintained a Microsoft SQL Server database and created complex queries, views, and indexes.
  • Collaborated with senior developers who were applying the Agile methodology.
Technologies: MVC Frameworks, C#, SQL, .NET

Salvame Radio

A podcast application, built entirely with reactive paradigms (using the Combine framework) and UIKit, using an MVVM architecture. I was the sole iOS developer in charge of every aspect of the application, including the audio player (built over AVFoundation), local persistence for offline use (Core Data), and back-end communication and the IAP system.

Colgate Connect

https://apps.apple.com/us/app/colgate-connect/id1505852279
An innovative and modern application built to deliver personalized oral care activities, progress tracking, and more. The application connects with Bluetooth Low Energy (BLE) toothbrushes and guides the user to brush better every day. Delivering high-quality, secure, and well-tested code was the most important development aspect. The entire development process was rigorous, and the result was very satisfying: a reliable application that is very much appreciated by its users.

hum by Colgate

An iOS application designed for oral health care. The app connects with BLE toothbrushes to provide coached brushing, related activities, and easy tracking of users' oral health progress. Producing high-quality, secure, and well-tested code was the most important development aspect. The entire development process was rigorous, and the result was very satisfying: a reliable application very much appreciated by its users.

yBand Therapy

SOLUTION
A therapy system motivates stroke patients to train their arms and regain arm mobility. The system consisted of three key parts: the BLE wrist device, an iPhone client/user application, and an iPad application for doctors. Both applications were paired with BLE wrist trackers that provided arm movement information.

CHALLENGES
One of the project's biggest challenges was that the iPad application had to easily pair with an unlimited number of peripherals and hold and work with up to five active connections simultaneously. Due to the nature of the project, the data could only be stored locally, and a peer-to-peer synchronization system between the user app and the doctor app had to be developed.

ROLE
As the technical leader in a team of three, I made high-level technical decisions. I proposed and implemented an MVVM and C project architecture with an n-tier layout (six dynamic libraries). I developed the BLE communication layer, the multipeer connectivity layer, the AirPrint services, and many others. I also ensured that the Git flow is respected (trunk-based), that the pull requests are correctly reviewed, and that the project's code coverage doesn't drop from one pull request to another.

La Casa del Panadero | Point of Sale

A SwiftUI and Combine application serve as a POS terminal for a chain of bakeries. We built a pixel-perfect iOS application that offers a modern and reactive experience and can work fully offline. The back end and the API communicate with the app, the synchronization system on the app, and the SDK that communicates with the printers. I led the development of the entire system.

Biometric Solution

A Swift SDK used in an iOS-banking application to authenticate users based on their biometric passport information. I led the development of a solution that used basic access control to read and authenticate passport information. Once the reading was done, the information was passed to other application layers. The main challenge of this project was the lack of documentation.

TransnetYX

https://apps.apple.com/us/app/transnetyx-colony/id1241001338
SOLUTION
An offline-first application that manages the colony data in research laboratories. In a team of two, I developed a large part of the application, mainly, but not limited to, the local storage system (with Core Data) and the app side of the synchronization system.

CHALLENGES
The biggest challenges were to make the app fully functional offline and allow a reliable synchronization with the back end for large chunks of data in limited and poor internet conditions.

Indoor Localization App

SOLUTION
An iOS application for indoor localization and an indoor mapping system. The main feature of the application was to present a map of the inside of a building, hall, or showroom; position the user on that map in real time, and draw a route to a point of interest. One of the app's clients was Tranoi, a leading fashion trade show in Paris. Using the app, users could easily find their way through different showcases and the route to the next one they wanted to visit.

CHALLENGE
The biggest challenge was to triangulate the user location using the iBeacons placed inside the hall.

ROLE
As the technical leader in a team of five, I spearheaded all the design choices and developed a large part of the triangulation system and most of the graph algorithm to find the shortest paths.

Plus Workout

https://apps.apple.com/us/app/plus-workout-indoor-cycling/id944800953
In its fourth version, Plus Workout was a successful iOS application that was highly ranked in the health and fitness category of the App Store. The main goal of the app was to help (indoor) cycling enthusiasts achieve their goals during their workout sessions. As the sole developer, I created the app from the back end, database, and API to the front end.

NightShot

A Swift application for nightlife in Paris. The main feature of the application was to present a map with different nighttime activities. I developed the entire app, using the Mapbox framework for the mapping system and Parse for cloud storage.

SnapSlidy

SOLUTION
An iOS application for creating and sharing videos from photos. All videos were presented in a feed (collection) where any app user could play them.

CHALLENGE
The main challenge of the application was to create a mechanism to load and play the videos in a fast and reliable way.

ROLE
I created the two key features of the application: the video creator, which included filters for photos and background music, and the video feed.

BroVid

A video editor that allowed the user to modify an existing video by adding their voice on top of it and also to synthesize their voice. I developed the entire application, including the voice synthesizer, using only iOS core frameworks and no third-party frameworks.
2004 - 2009

Bachelor's Degree in Computer Science

University of Craiova - Craiova, Romania

Libraries/APIs

RxSwift, REST APIs, CocoaPods, Mapbox API, Parse SDK

Tools

Xcode, GitLab, GitHub, TestFlight, Fastlane, Jenkins, Jira, Confluence, Git, Zeplin

Languages

Swift, Objective-C, C#, C++, SQL, PHP 5, Swift 5

Frameworks

RealmSwift, UIKit, Core Data, Core Bluetooth, Combine, AFNetworking, .NET, SwiftUI, Multipeer Connectivity

Paradigms

Unit Testing, Model View ViewModel (MVVM), Reactive Programming, Functional Programming, Functional Reactive Programming, Offline-first Development

Platforms

iOS, MacOS, Bluetooth Low Energy (LE), Firebase, Mapbox, Parse

Storage

Realm, Databases, Data Synchronization, MySQL, Cloud Firestore

Other

Programming, OOP Designs, MVC Frameworks, In-app Purchases, Push Notifications, Code Coverage, Localization, Code Review, Multithreading, Background Threading, Networking, iOS App Design, iOS Design Trends, AVFoundation, Apple AirPrint, Internationalization, iBeacon, SDKs, Carthage, Graphs, Authentication, Biometrics, POS, In-app Purchase (IAP)

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