Josip Petrić, Developer in Zagreb, Croatia
Josip is available for hire
Hire Josip

Josip Petrić

Verified Expert  in Engineering

Software Developer

Location
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

Vehicle Vitals (via Toptal)
Swift, iOS, SwiftUI, Google AdMob, StoreKit
Yonder AG
iOS, Swift, Figma, NoSQL, Couchbase, iPad, GitLab, Apple...
Ferry Automotive (via Toptal)
Swift, iOS Animations, Xcode, Git, UI Animation...

Experience

Availability

Part-time

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

2023 - 2023
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.
Technologies: Swift, iOS, SwiftUI, Google AdMob, StoreKit

iOS Developer

2022 - 2022
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.
Technologies: iOS, Swift, Figma, NoSQL, Couchbase, iPad, GitLab, Apple, Couchbase Lite iOS SDK, Mobile App Development, Mobile Development

Swift Developer

2021 - 2022
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.
Technologies: Swift, iOS Animations, Xcode, Git, UI Animation, Object-oriented Programming (OOP), Figma, Apple, GitHub Actions, CI/CD Pipelines, Mobile App Development, Mobile Development

Senior iOS Developer

2021 - 2021
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.
Technologies: iOS, Swift, Carthage, Xcode, Continuous Integration (CI), Apple HealthKit, Core Location, Core Animation, UI Animation, Object-oriented Programming (OOP), UIKit, Apple, Mobile App Development, Mobile Development

Lead iOS Developer

2020 - 2021
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.
Technologies: iOS, Cocoa Touch, RxSwift, Swift, GitHub, Jira, Carthage, UI Animation, Object-oriented Programming (OOP), UIKit, Apple, Mobile App Development, Mobile Development

iOS Developer

2020 - 2020
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.
Technologies: Firebase, Git, Continuous Integration (CI), Xcode, Swift, iOS, Object-oriented Programming (OOP), UIKit, Apple, SDKs, iOS SDK, Mobile App Development, Mobile Development

iOS Developer

2019 - 2019
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.
Technologies: UI Testing, Unit Testing, CallKit, WebRTC, VoIP, HTML5 Animations, Git, Objective-C, J2ObjC, Java, Swift, Object-oriented Programming (OOP), Apple, Mobile App Development, Mobile Development

iOS Developer

2018 - 2019
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.
Technologies: Instabug, Google Ads API, Fabric, Firebase, Instruments, Xcode, Core Data, Swift, UI Animation, Object-oriented Programming (OOP), UIKit, Apple, Mobile App Development, Mobile Development

Senior iOS Developer

2017 - 2017
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.
Technologies: REST, Git, Firebase, Core Animation, AVKit, Swift 3, iOS, UI Animation, Object-oriented Programming (OOP), UIKit, Apple, Video Streaming, Mobile App Development, Mobile Development, iOS Video

iOS Developer

2016 - 2017
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.
Technologies: MapKit, Core Animation, Git, Amplitude, Crashlytics, Swift, iOS, Object-oriented Programming (OOP), UIKit, Apple, Mobile App Development, Mobile Development

Lead iOS Developer

2016 - 2016
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.
Technologies: Fabric, Twitter API, Facebook API, AVFoundation, Crashlytics, Git, iOS, Swift, Object-oriented Programming (OOP), UIKit, Apple, Mobile App Development, Mobile Development

Software Engineer | Lead iOS Developer

2013 - 2015
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.
Technologies: Appcelerator, Android, Swift, Objective-C, iOS, UIKit, Mobile App Development, Mobile Development, Design

Junior Software Engineer

2011 - 2012
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.
Technologies: Flex, Java, Android, Objective-C, iOS, Object-oriented Programming (OOP), UIKit

Define It

This is an app for building and improving the user's vocabulary. Users build their vocabulary by searching for different words and then learn those words by playing mini word games.

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

Cherished is an app for creating and sharing the user's most valuable memories. Users take photos, customize them using unique filters, artworks, and typography, and then share created memories on different social networks.

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/
A fast-paced, multiplayer iOS game where players train a team of fighters and challenge other players worldwide to a real-time duel.

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=8
mySea is an interactive cruising guide for Greece, Croatia, and Turkey (Mediterranean coast) as well as an online reservation and payment system for berths and national park tickets

Tasks 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

Tasks Accomplished:
• 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.

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

Libraries/APIs

Core Animation, REST APIs, Firebase iOS SDK, JSON API, Core Graphics, Fabric, CocoaPods, Facebook API, 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

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

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, OCR, Speech Recognition, Networking, Transmission Control Protocol (TCP), iOS Video

Storage

JSON, NoSQL, Couchbase

2009 - 2011

Master's Degree in Software Engineering and Information Systems

Faculty of Electrical Engineering and Computing, University of Zagreb - Zagreb, Croatia

2006 - 2009

Bachelor's Degree in Computing

Faculty of Electrical Engineering and Computing, University of Zagreb - Zagreb, Croatia

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