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

Experience

  • Object-oriented Programming (OOP), 9 years
  • Xcode, 7 years
  • UIkit, 7 years
  • Objective-C, 7 years
  • iOS, 7 years
  • Git, 5 years
  • Core Animation, 5 years
  • Swift, 3 years

Location

Zagreb, Croatia

Availability

Part-time

Preferred Environment

iOS, Xcode, Git, Swift, Objective-C

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: 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.
    • Created DefineIt: a vocabulary builder application with speech recognition, optical character recognition, Today extension, and Apple watch app.
    Technologies: iOS, Objective-C, Swift, Core Animation, Core Data, Git, Facebook API, Twitter API, Core Location, Google Maps, Google Places, Payment Gateways, In-qpp Purchases, Apple WatchKit
  • 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 (easy to replace modules, easy to unit test).
    • Created q live in-app chat which allows users to communicate, OverUnder to communicate with users, and to receive real-time sport event updates.
    • Implemented a notification content extension which 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: Swift, CoreData, Xcode, Instruments, Firebase, Fabric, Google Mobile Ads, Instabug
  • Senior iOS Developer

    2017 - 2017
    Adforprize (via Toptal)
    • Developed Adforprize: a platform where users can express themselves through creative ads. Companies posts prizes which are rewarded to users who make the best ads for their campaign.
    • Refactored the existing application by resolving a number of issues, crashes and memory leaks; reorganized project structure and replaced heavy storyboards with XIB files.
    • Implemented a live in-app chat using Firebase realtime database.
    • Worked on and improved advanced video editor (recording multiple video clips, edits them and merges them): fixed crashes and issues; 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 (Demo video: Youtu.be/S4TWKUKxdf8 ).
    • Attended daily standups and proposed new features, solutions, and iOS best practices.
    Technologies: iOS, Swift 3, AVKit, Core Animation, Firebase, Git, REST
  • iOS Developer

    2016 - 2017
    NimbleRx (via Toptal)
    • Developed a set of three iOS applications.
    • Supported and added new features to the NimbleRx, application which keeps track of users prescriptions; a user can order prescription refills, track it on the map and pay it 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.
    • Developed applications fully in Swift by utilizing protocol-oriented programming concepts.
    Technologies: iOS, Swift, Crashlytics, Amplitude, Git, Core Animation, MapKit
  • Lead iOS Developer

    2016 - 2016
    Proballers (via Toptal)
    • Developed from scratch a social network application that connects basketball players with fans and released to the App Store in six weeks.
    • Setup 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 auto-renewable in-app subscriptions.
    • 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 (UICollectionViews inside parent UICollectionView).
    Technologies: Swift, iOS, Git, Crashlytics, AV Foundation, Fabric.io Answers, Facebook API, Twitter API
  • Software Engineer | Lead iOS Developer

    2013 - 2015
    Amphinicy Technologies
    • Implemented a set of mobile (iOS and Android) applications for use by operatives of the rapid response team for disaster relief and humanitarian operations.
    • Developed a mobile application for configuring satellite antenna (Azimuth, Elevation, and Skew Angles) for 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 a client.
    • Worked as the technical interviewer of new iOS developer applicants.
    • Led a small team.
    Technologies: iOS, Objective-C, Swift, Android, Appcelerator
  • 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.
    • Worked in both local and distributed teams.
    Technologies: iOS, Objective-C, Android, Java, Flex

Experience

  • Define It (Development)
    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:
    • Developed Swift code 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.

  • Comic Battle (Development)
    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.

    Project Details:
    • 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 which 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 (Development)
    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

    Project Details:
    • 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 (Development)

    Project Details:
    • 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, Swift 3, Swift 2, Objective-C, Java
  • Frameworks

    Cocoa Touch, UIkit, Core Data, AFNetworking
  • Libraries/APIs

    Core Animation, REST APIs, Fabric, CocoaPods
  • Tools

    Xcode, Git, Crashlytics, Trello, Jira, Confluence, Android Studio
  • Paradigms

    Object-oriented Programming (OOP), REST, Agile Software Development, Model View Viewmodel (MVVM)
  • Platforms

    iOS, Firebase, Android
  • 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
I really like this profile
Share it with others