Josip Petrić, Software Developer in Zagreb, Croatia
Josip Petrić

Software Developer in Zagreb, Croatia

Member since May 31, 2016
As a software engineer with years of experience, Josip has developed a keen sense for 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.
Josip is now available for hire

Portfolio

  • Bit Forest
    WatchKit, Apple, In-app Purchases, Payment Gateways, Google Places API...
  • Vi Labs (via Toptal)
    iOS, Swift, Carthage, Xcode, Continuous Integration (CI), Apple HealthKit...
  • Cogni (via Toptal)
    iOS, CocoaTouch, SwiftRx, Swift, GitHub, Jira, Carthage

Experience

  • Object-oriented Programming (OOP) 10 years
  • UIKit 8 years
  • Xcode 8 years
  • Objective-C 8 years
  • iOS 8 years
  • Git 6 years
  • Core Animation 6 years
  • Swift 4 years

Location

Zagreb, Croatia

Availability

Part-time

Preferred Environment

Objective-C, Swift, Git, Xcode, iOS

The most amazing...

...app I've created was Comic Battle, a fast-paced multiplayer game for iOS where I was the only mobile developer.

Employment

  • Co-founder | Product Owner | iOS Developer

    2015 - PRESENT
    Bit Forest
    • Created, as the only iOS developer, a complex real-time multiplayer iOS game, Comic Battle, from scratch.
    • Developed a large-scale iOS mobile application for a taxi service. Application features include live vehicle tracking, customizable dispatch zones, and automatic payment through the application.
    • Built a set of features for a mobile travel guide for sailors in Croatia, Slovenia, and Greece.
    • Consulted on the introduction of a quality insurance system for mobile development projects. The QA system described every project step, from requirements and mockups to prototyping and integration testing.
    • Led a small mobile development team and made sure that all tasks are done properly and on time.
    • Created DefineIt, a vocabulary builder application with speech and optical character recognition, the Today extension, and an Apple Watch app.
    Technologies: WatchKit, Apple, In-app Purchases, Payment Gateways, Google Places API, Google Maps, Core Location, Twitter API, Facebook API, Git, Core Data, Core Animation, Swift, Objective-C, iOS
  • Senior iOS Developer

    2021 - 2021
    Vi Labs (via Toptal)
    • Worked as a senior iOS developer on the Torch application that gamified running and walking activities and helps users to achieve their fitness goals faster and in a fun way,.
    • Added new features, 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
  • Lead iOS Developer

    2020 - 2021
    Cogni (via Toptal)
    • Worked as a tech lead and team leader for a five-member team of four iOS developers and one 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, CocoaTouch, SwiftRx, Swift, GitHub, Jira, Carthage
  • iOS Developer

    2020 - 2020
    Guestlogix (via Toptal)
    • Worked on the SDK written in Swift to be utilized by airline companies.
    • Added new features and redesigned parts of the UI for the white-label app utilizing the in-house SDK.
    • Performed code reviews to make sure all code is 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
  • iOS Developer

    2019 - 2019
    Stochastic Systems, LLC (via Toptal)
    • 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, UIKit, Git, Objective-C, J2ObjC, Java, Swift
  • 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.
    • Developed an application using protocol-oriented MVVM architecture with a clear separation of concerns between modules, making it easy to replace modules and easy to unit test.
    • Created a live in-app chat that allows users and OverUnder to communicate and receive real-time sport event updates.
    • Implemented a notification content extension that modifies incoming push notifications to make them more personal for each user.
    • Helped identify and implement key analytic events and funnels.
    • Added support for mobile ads—showing ad banners when appropriate.
    Technologies: Instabug, Google Ads API, Fabric, Firebase, Instruments, Xcode, Core Data, Swift
  • Senior iOS Developer

    2017 - 2017
    Adforprize (via Toptal)
    • 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
  • iOS Developer

    2016 - 2017
    NimbleRx (via Toptal)
    • 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
  • Lead iOS Developer

    2016 - 2016
    Proballers (via Toptal)
    • 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, AV Foundation, Crashlytics, Git, iOS, Swift
  • 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
  • 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

Experience

  • Define It
    https://itunes.apple.com/app/define-it-build-your-vocabulary/id1193005136?mt=8

    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
    https://apps.apple.com/app/cherished-baby-photos-editor/id1470236364

    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 (Cherishedapps.com).

  • Comic Battle
    https://itunes.apple.com/app/comic-battle/id1015928663?mt=8

    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.

  • How to Write Automated Tests for iOS (Publication)
    In this tutorial, you will learn how automated testing works for the iOS platform and how to implement it in your project.
  • Swift Best Practices and Tips by Toptal Developers (Publication)
    This resource contains a collection of Swift best practices and Swift tips provided by our Toptal network members.

Skills

  • 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, AV Foundation
  • 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
  • Tools

    Xcode, GitHub, Git, Crashlytics, Trello, Appcelerator, Instruments, Instabug, J2ObjC, CallKit, CocoaTouch, Jira, Atlassian Confluence, Android Studio, Apple HealthKit
  • Paradigms

    Object-oriented Programming (OOP), 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, Payment Gateways, In-app Purchases, Amplitude, HTML5 Animations, VoIP, UI Testing, SwiftRx, Carthage
  • Storage

    JSON

Education

  • Master's degree in Software Engineering and Information Systems
    2009 - 2011
    Faculty of Electrical Engineering and Computing, University of Zagreb - Zagreb, Croatia
  • Bachelor's degree in Computing
    2006 - 2009
    Faculty of Electrical Engineering and Computing, University of Zagreb - Zagreb, Croatia

To view more profiles

Join Toptal
Share it with others