
Josip Petrić
Verified Expert in Engineering
Software Developer
Zagreb, Croatia
Toptal member since July 25, 2016
As a software engineer with over a decade of experience, Josip has developed a keen sense of building scalable, maintainable, and user-friendly applications. His platform of choice is iOS for which he has designed and developed a wide range of applications, from simple ones to complex, large-scale applications. Josip is a proven team leader and a team player with exemplary communication and social skills.
Portfolio
Experience
- Object-oriented Programming (OOP) - 12 years
- Objective-C - 10 years
- Xcode - 10 years
- UIKit - 10 years
- iOS - 10 years
- Core Animation - 8 years
- Git - 8 years
- Swift - 8 years
Availability
Preferred Environment
Objective-C, Swift, Git, Xcode, iOS, Mobile App Development, Mobile Development
The most amazing...
...app I've created was Comic Battle, a fast-paced multiplayer game for iOS where I was the only mobile developer.
Work Experience
SwiftUI Developer
Vehicle Vitals (via Toptal)
- Cleared the backlog of over 30 issues and added new features using SwiftUI and the Swift Composable Architecture.
- Implemented auto-renewable subscriptions using the iOS StoreKit 2.
- Enabled extra monetization stream by adding ads using Google Mobile Ads SDK for iOS.
iOS Developer
Yonder AG
- Implemented new features to a document reader app designed for iPad, emphasizing offline document access for the airline sector.
- Optimized database fetches and data mapping, which led to 10x faster data loading and presentation, thus improving user experience.
- Implemented a workaround for a Couchbase Lite synchronization issue that prevented some documents from synchronizing to 100%.
- Helped to introduce and implement a Clean Swift architecture to the project.
Swift Developer
Ferry Automotive (via Toptal)
- Developed an application for leasing electric vehicles with a complex leasing flow containing steps such as ID validation, credit check, setting up a payment method, selecting delivery options, signing a contract, and adding vehicle insurance.
- Created a library of over 30 reusable UI components, reducing prototyping and making changes.
- Developed a set of highly customized screen transitions to improve user experience and make application flow more organic.
- Worked closely with the UX and design team and suggested ideas to improve our efficiency.
Senior iOS Developer
Vi Labs
- Worked as a senior iOS developer on the Torch application that gamified running and walking activities and helps users achieve their fitness goals faster and in a fun way.
- Added new features and suggested and made improvements to the existing source code to make it maintainable and more robust.
- Implemented HealthKit extension that constantly tracks users' activity in other third-party fitness apps—like running, swimming, playing basketball, and more—aggregates the results, and makes it usable in the Torch app.
Lead iOS Developer
Cogni (via Toptal)
- Promoted to lead an iOS mobile team consisting of four developers and a QA specialist.
- Created a development plan—epics, tasks, subtasks, and milestones—and led an effort to redesign 200 existing screens and flows.
- Implemented and added many new features—subscriptions flow, lending, rewards, and cashback—to the existing codebase.
- Created a caching mechanism to preload dynamic resources, enabling changing certain assets and copies without the need for App Store updates.
iOS Developer
Guestlogix
- Worked on the SDK written in Swift to be utilized by airline companies.
- Added new features and redesigned UI parts for the white-label app utilizing the in-house SDK.
- Performed code reviews to ensure all code was up to the highest standards.
- Suggested and demonstrated a plan to move from the MVC architecture to the MVVM architecture using RxSwift for bindings and coordinator pattern for navigation between screens.
iOS Developer
Stochastic Systems, LLC
- Led the effort to test and fix WebRTC, VoIP, and CallKit issues in the iOS application for secure communication with full data and identity protection.
- Implemented a share extension to enable external content sharing through the application.
- Built a notification extension to customize push notifications' appearance.
- Added unit and UI tests that covered the application features.
- Fixed various issues and bugs to ensure the best user experience.
- Redesigned the whole UI of every app screen to make it ready for the public App Store release.
iOS Developer
OverUnder (via Toptal)
- Built and maintained a streak-style contest application where users can win cash prizes by predicting the over-under on featured sports events.
- Created a live in-app chat that allows users and OverUnder to communicate and receive real-time sports event updates.
- Implemented a notification content extension that modifies incoming push notifications to make them more personal for each user.
- Added support for mobile ads using Google Mobile Ads SDK for iOS.
- Identified and implemented key analytic events and funnels.
Senior iOS Developer
Adforprize
- Developed Adforprize, a platform where users can express themselves through creative ads. Companies post prizes that are rewarded to users who make the best ads for their campaigns.
- Refactored the existing application by resolving many issues, crashes, and memory leaks. Reorganized the project structure and replaced heavy storyboards with XIB files.
- Implemented a live in-app chat using Firebase Realtime Database.
- Worked on and improved an advanced video editor that records multiple video clips, edits, and merges them. Also, I fixed crashes and issues and added support to add soundtracks, insert GIFs in between video clips and add images on top of videos.
- Implemented a number of custom UI components with CoreAnimation and Lottie animations. The demo video is available at Youtu.be/S4TWKUKxdf8.
- Attended daily standups and proposed new features, solutions, and iOS best practices.
iOS Developer
NimbleRx
- Developed a set of three iOS applications: NimbleRx, NimbleMd, and the marketing iPad application.
- Supported and added new features to the NimbleRx application to keep track of users' prescriptions: a user can order prescription refills, track them on the map, and pay them using the app.
- Led the iOS development on the NimbleMD application for MDs to keep track of drugs and medication: their description, usages, insurance coverage, and other information.
- Created the NimbleRx marketing iPad application to help educate users about the NimbleRx.
- Developed applications fully in Swift by utilizing protocol-oriented programming concepts.
Lead iOS Developer
Proballers
- Developed from scratch a social network application that connects basketball players with fans and released it to the App Store in six weeks.
- Set up and guided the client with the set up of a source code repository, Apple developer accounts, in-app purchases, analytics, crash reporting, and releasing the app on Test Flight and in the App Store.
- Implemented an auto-renewable in-app subscriptions feature.
- Developed a verification system for pro players by incorporating the video recording feature in the onboarding flow.
- Solved the challenge of presenting players statistical data on a small screen by adding a custom UI component with UICollectionViews inside a parent UICollectionView.
Software Engineer | Lead iOS Developer
Amphinicy Technologies
- Implemented a set of mobile—iOS and Android—applications to be used by operatives of the rapid response team for disaster relief and humanitarian operations.
- Developed a mobile application for configuring a satellite antenna—azimuth, elevation, and skew angles—for an appropriate geosynchronous satellite through an augmented reality interface.
- Participated in the whole software development process, from the requirements-and-design phase to testing, integration, and communication with the client.
- Worked as the technical interviewer of new iOS developer applicants.
- Led a small mobile development team on iOS and Android.
Junior Software Engineer
Amphinicy Technologies
- Developed for Amphinicy Technologies—the world’s leading software provider for companies operating in the satellite industry.
- Built the Java back end for a large in-house CMS product.
- Implemented Android and iOS mobile clients—EPUB and PDF reader—for the in-house CMS.
- Developed the mobile CMS client by customizing, configuring, and adding features to an existing RMSDK client application.
- Collaborated and communicated with international clients.
Experience
Define It
Project Details:
• Designed and developed the application independently; also handled the release to the App Store.
• Developed the app in Swift using clean MVVM architecture and protocol-oriented programming concepts.
• Implemented speech recognition features.
• Developed optical character recognition features (OCR),
• Added Today iOS extension (iOS widget).
• Implemented a simple version of the application for the Apple Watch.
• It has over 80,000 downloads.
Cherished
Project Details:
• Designed and created the app independently along with handling the release to the App Store and all marketing efforts.
• Heavily utilized the Core Image iOS framework and social network integrations.
• Implemented using the protocol-oriented MVVM architecture with Coordinator pattern.
• Created the application's landing web page.
Comic Battle
https://comic-battle.com/Tasks Accomplished:
• Developed using Cocos2d-iPhone and native UIKit components.
• Implemented a custom network communication library using TCP stream and TCP socket connection to avoid unnecessary overhead in communication with the server.
• Implemented a connection error handling mechanism for user-friendly reconnection and state perseverance, which is especially important when the player is in the middle of a duel with another player.
• Created a modular architecture that makes it easy and painless to add new game resources (new characters, items, skills or side effects).
• Implemented user analytics, crash reporting, and an easy content-adding mechanism.
• Served as the product owner and only iOS developer.
• Coordinated efforts between back-end developer, iOS developer, and artist.
mySea
https://itunes.apple.com/app/mysea/id802375798?mt=8Tasks Accomplished:
• Maintained the application and added new features.
• Integrated two different payment providers (the chosen one is determined on the fly via the back end).
• Developed the app in Objective-C but the new features were implemented and added using Swift.
Set of Utility Mobile Applications for Field Operatives
• Implemented the iOS and Android mobile applications for configuring solar panels to achieve maximum usability for a specified period of time.
• Implemented iOS and Android applications for configuring satellite antenna to point to a specified geosynchronous satellite.
• Configured, rebranded, and added additional features to a VoIP application to meet project requirements and to use specific audio codecs.
• Gained knowledge and experience in VoIP technology.
• Utilized device sensors to calculate appropriate azimuth, elevation, and skew angles required to setup satellite antennas.
Education
Master's Degree in Software Engineering and Information Systems
Faculty of Electrical Engineering and Computing, University of Zagreb - Zagreb, Croatia
Bachelor's Degree in Computing
Faculty of Electrical Engineering and Computing, University of Zagreb - Zagreb, Croatia
Skills
Libraries/APIs
Core Animation, REST APIs, Firebase iOS SDK, JSON API, Core Graphics, Fabric, CocoaPods, Facebook API, X (formerly Twitter) API, Google Maps, Google Places API, AVKit, Google Ads API, WebRTC, RxSwift, Couchbase Lite iOS SDK, Sockets
Tools
Xcode, GitHub, Git, Crashlytics, Trello, Figma, Appcelerator, Instruments, Instabug, J2ObjC, CallKit, Jira, Confluence, Android Studio, Apple HealthKit, GitLab
Languages
Swift 5, Swift, Swift 3, Swift 2, Objective-C, Java
Frameworks
iOS SDK, Cocoa Touch, UIKit, Core Data, AFNetworking, Flex, Core Location, WatchKit, MapKit, SwiftUI, StoreKit
Paradigms
Object-oriented Programming (OOP), Mobile Development, REST, Unit Testing, Continuous Integration (CI), Agile Software Development, Model View ViewModel (MVVM)
Platforms
Mobile, iOS, Apple, Firebase, Android
Storage
JSON, NoSQL, Couchbase
Other
iPhone X, Custom Views, UI Animation, User Interface (UI), iOS Animations, Mobile App Development, Payment Gateways, In-app Purchases, Amplitude, AVFoundation, HTML5 Animations, VoIP, UI Testing, Carthage, iOS Camera, iPad, GitHub Actions, CI/CD Pipelines, SDKs, Video Streaming, Design, Google AdMob, Optical Character Recognition (OCR), Speech Recognition, Networking, Transmission Control Protocol (TCP), iOS Video
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring