Josip B.

Josip B.

Senior Software Engineer

Zagreb, Croatia
Hire Josip B. Hire Josip B. Hire Josip B.

About Me

Josip is an expert iOS developer with several years of experience in this field—he's been developing for iOS since the iOS 4 beta but vastly prefers the current state of iOS development with Objective-C and Swift. He also enjoys writing back-end APIs using Node.js. He is detail-oriented and likes to be deeply involved in a project with constant communication. Josip has worked in teams of all sizes and has also led a few.

Work history

Streamland Media
iOS Developer
2021 - 2022 (1 year)
Remote
  • Added support for playing HDR video content and saving videos for offline playback.

  • Fixed bugs which client prepared and listed in GitLab.

  • Tested and deployed new features on both iOS and tvOS.

iOStvOSHTTP Live Streaming (HLS) AVPlayer Core DataiPad Mobile Development iOS Native Libraries MobileAPI Integration
SeeWorkGrow
iOS Developer
2020 - Present (4 years)
Remote
  • Developed an iPad application that stores handwritten textual notes into the database.

  • Implemented MyScript SDK for storing, viewing, editing, and converting handwritten text into String objects.

  • Collaborated tightly with the client in order to create the best possible UI/UX because the client didn't have any design files.

  • Onboarded a second developer in the application development flow.

  • Created an automation system for sharing data between client sessions. The database is manipulated using the CoreData system that has migrations that prevent data loss on existing customers.

iOSCore DataiPad SketchData Synchronization HTMLHTML Email CocoaPodsCharting Mobile Development iOS Native Libraries Design PatternsMobile App DesignMobile
Large Retailer
iOS and React Native Developer
2019 - 2020 (1 year)
Remote
  • Refactored and upgraded an existing iPad application.

  • Created a reusable multithreaded Core Data stack for importing and fetching data.

  • Added support for native app scaling on larger and smaller screens.

  • Integrated analytics into an existing React Native app.

  • Built a few React Native native modules that enabled the use of native iOS and Android code inside JavaScript.

  • Debugged and fixed bugs that were caused by previous development.

  • Improved app speed by improving SharePoint APIs calls which were extremely slow.

  • Created mockup proposal screens for the client using Sketch.

IntelliQuit
iOS and Node.js Developer
2018 - 2021 (3 years)
Remote
  • Integrated a real-time camera capture analysis using OpenCV for detecting objects in the camera buffer.

  • Developed an API using Node.js on an AWS EC2 instance.

  • Set up a web instance using Ubuntu 18.04LTS that runs Node.js API and CMS.

  • Created custom CMS using Node.js and Pug templating.

  • Stored data using MariaDB on AWS RDS alongside with Knex.js library for generating DB queries.

  • Supported cross-AWS instance communication using AWS SQS.

  • Established a Redis memory database for storing user sessions in CMS.

JSON Web Tokens (JWT) RedisPUGUbuntuJavaScriptSwiftC++OpenCVAmazon Simple Queue Service (SQS) Amazon EC2 MariaDBNode.jsiOSAuthentication Mobile Development RESTGoogle Maps API Mobile App DesignMobileAPI Integration
Stroeer Media Brands Apps
Lead iOS Developer
2015 - Present (9 years)
Remote
  • Led the team in the creation of a stunning user interface and user experience.

  • Communicated efficiently with the Android and back-end developers to sync the features across the platforms.

  • Created a library for fast image downloading and decompressing images for the faster display on slower devices.

  • Polished the app to optimize every percent of performance and have super slight scrolling.

  • Examined the app closely to fix every possible bug.

MacOS XcodeSwiftiOSFlutterDartSDKs Mobile Development iOS Native Libraries Design PatternsLocation Services and Maps Mobile App DesignMobileAPI Integration
Clover Studio, LLC
iOS Developer
2010 - 2015 (5 years)
Remote
  • Created a dozen chat client apps for iOS using Objective-C.

  • Constructed back-end APIs for mobile apps using PHP and MySQL.

  • Developed games for iOS using Cocos2d and Objective-C.

  • Created a number of news applications using Objective-C.

  • Built a framework for utilizing all the reusable code shared over the apps.

  • Developed video chat app with WebRTC and back-end communication system using Socket.IO and Node.js.

OKTO Digital
iOS Developer
Present (2024 years)
Remote
  • Developed an AR app that uses the camera to search for objects in a museum with interactive content for users.

  • Implemented AR tracking and asset recognition with a 3D scene interacting with standard 2D interface components.

  • Optimized AR search and image recognition, which led to improved search results and better CPU usage.

iOSARKit Augmented Reality (AR) iOS SceneKit BlenderMobile Development Mobile
Metagon, Inc.
iOS Developer
Present (2024 years)
Remote
  • Optimized and refactored a SpriteKit scene in the way that it can easily be switched between two different display order options.

  • Generated an AWS Gateway API SDK with all required preparations (model setup and HTTP response setup).

  • Integrated MapBox SDK below SpriteKit scene in the way they were all both visible at the same time without memory problems.

  • Built animations with SpriteKit that were in sync with all components inside the scene.

  • Created an app layer that connects the SpriteKit scene with the MapBox map that updates the map position every time the scene was dragged.

MapKitMapboxiOSAmazon API Gateway SpriteKitMobile Development RESTMobile

Portfolio

Kino.de

Kino.de is the number one German app for finding movies, tv shows, and movie theaters. The app has around 40,000 weekly active users and the crash rate is lower than 0.4%. While working on this app, I used Objective-C as the main language and wrote a library for downloading images. I did this because I wasn't satisfied with the performance of the current assortment of open-source libraries.For this app, I developed many custom components and one of the most challenging was a video player that was inspired by the Facebook iOS app video player (it allows a user to scroll the list of videos and automatically starts video playback when the video scrolls into view).

Crypto Price

Crypto Price is a macOS and iOS application for keeping an eye on your favorite crypto tokens. Both applications reuse the same foundations, but they have separate UI files. During this project, I learned how to reuse code for Mac and iOS and how to properly configure Xcode to work without any problems. This project was written using Swift.

No TV Signal Screensaver

No TV Signal Screensaver is a macOS application that checks user activity and starts a fake screensaver. I say fake because screensaver apps aren't supported by the Mac App Store so an app has to pretend it is a screensaver app. This app is written in Swift and draws the UI using CALayers.

TankenApp mit Benzinpreistrend

TankenApp is an iOS application for finding the nearest and cheapest gas stations nearby in Germany. App has more than 100,000 weekly active users. I developed an iOS app and is written 95% by myself. It also required collaboration with Android, back-end, and designer teams. All code is written in Swift 5, dependencies are managed by CocoaPods and the app is shaped using MVC architecture. The user interface was created using Xibs and for fast left-right navigation between favorites, the app uses UIPageViewController. Analytics is tracked using Firebase and Amplitude analytics. The design was provided using Zeplin and all icons inside the app are stored in vector PDFs. VCS used for this project is git and CI used at some point in time was Microsoft AppCenter.

Hasher

Hasher is a macOS utility application for creating hash strings from the text. It provides support for MD5 and SHA1-512 hash algorithms. The app is written in Swift using MVC architecture and supports the latest macOS 10.14 dark mode appearance. Source code of the app is available on GitHub: https://github.com/josipbernat/Hasher

IntelliQuit

IntelliQuit is an iOS application that helps users reduce tobacco usage by monitoring the level of tobacco in their urine. The app takes an image of a used NicCheck strip and then analyzes the given image using computer vision. My role was the development and maintenance of the iOS app and back-end API.PROJECT DETAILS• Wrote the iOS app in Swift and used MVC architecture.• Managed dependencies using CocoaPods.• Implemented the UI using Storyboards, Xibs, and native code. • Used OpenCV for the camera screen to detect the required elements inside the image; OpenCV is written inside C++.• Achieved communication with the rest of the Swift code using Objective-C++ classes.• Exposed the back-end APIs using REST API and the back end runs on Node.js inside an AWS EC2 instance. • Used a MySQL database that is hosted inside an AWS RDS instance.• Enabled communication with other EC2 instances (which does CV analysis) by using the AWS SQS system.• Used Nginx for the proxy used for the API.

Fussball Live-ticker Herzrasen

A Swift-based app for viewing football matches in real time. Users can view previous, present, and future matches by subscribing to push notifications and receiving real-time updates on their favorite team. I was the lead developer involved in project and tech stack planning; I also delegated tasks to junior developers and implemented them. The project used the MVVM architecture alongside Combine SDK for processing events over time. The app is accessible only from the German and Croatian App Store through this link: https://apps.apple.com/hr/app/fussball-live-ticker-herzrasen/id529120477

SessionLife

A Swift-based MVVM app made as the best companion for EOS implementers. In short, this app is the best tool for capturing handwritten notes during EOS sessions. All notes are stored in the database, and ink files representing handwritten writing are saved to the file system. Saving and viewing ink files helps users to remember the situation when the note was written more efficiently. With stored data, the app is capable of generating reports such as revenue and profit reports and displaying them in either a table or a chart. Stored data is also used for analyzing and providing previous data into new sessions so that EOS implementers can have more comprehensive discussions with their clients.Session reports can be exported in HTML for easy sharing or simple documentation. Data backup and restore is implemented using iCloud so the user never loses the data.To use all feature sets, the user must have a valid subscription that can be purchased through the iOS IAP service.

Education

Education
Bachelor's Degree in Technical Sciences (Computer Engineering)
Zagreb University of Applied Sciences
2010 - 2013 (3 years)