Gian Franco Zabarino, Developer in Colonia Caroya, Córdoba, Argentina
Gian is available for hire
Hire Gian

Gian Franco Zabarino

Verified Expert  in Engineering

Software Developer

Location
Colonia Caroya, Córdoba, Argentina
Toptal Member Since
November 5, 2012

Gian Franco is a Full-stack iOS developer with over six years of professional experience. He is currently working as a freelancer, and is interested in joining as a remote developer for exciting projects. He can architect solutions from scratch by using the right technologies, whether is client, server, or both. When developing, he emphasizes on code quality, performance, and user experience.

Availability

Part-time

Preferred Environment

IntelliJ IDEA, WebStorm, AppCode, Xcode

The most amazing...

...thing I've coded is a clustered algorithm which acts recursively on users' data by applying custom sharing rules to elements in a social network.

Work Experience

Full-stack iOS Developer

2015 - PRESENT
The Igor Project
  • Imported CSV data daily into MongoDB, using a calendarized Node.js child process.
  • Applied business rules to the data which involves sharing of it to allowed connections.
  • Sent push notifications about updates in users' account data.
  • Worked on a synchronization algorithm that lightens the server's load.
  • Worked on improving performance, vastly, using different Core Data stacks in the iOS client.
  • Created a local synchronization mechanism that saves in a background context and notifies the UI about changes.
Technologies: Amazon Web Services (AWS), MagicalRecord, Mongoose, Express.js, Grand Central Dispatch, AFNetworking, MongoDB, Node.js, Core Data

iOS Engineer

2013 - 2015
FS Studio
  • Worked closely with Core Data, Node.js, MongoDB, AWS, AFNetworking, Magical Record, Grand Central Dispatch, Express.js, and Mongoose.
Technologies: Node.js, iOS

Game Developer

2013 - 2014
PurpleTracks Pte
  • Handled basic OpenGL drawing.
  • Used Cocos2d-x, along with some subclasses to optimize FPS.
  • Developed an algorithm to create jigsaw pieces from a full resolution picture.
  • Set up both iOS and Android projects.
  • Handled functionality for CCSprite drag and drop into hotspot zones.
  • Developed custom OpenGL shaders.
Technologies: C++

iOS Developer

2013 - 2013
Byliner
  • Created an API-compatible vertical tab bar controller.
  • Added Twitter account support.
  • Refactored code.
  • Implemented TDD practices using the Kiwi framework.
  • Created a class hierarchy for "More Details" views for iPad. Applied a factory method design pattern to instantiate the needed one.
Technologies: Objective-C

Java Developer, iOS Developer

2012 - 2013
Santex America S.A.
  • Created an applicant tracking system based on OpenApplicant: Spring MVC, jQuery, and Hibernate.
  • Created a custom CRUD framework based on Spring WebFlow, JSF with PrimeFaces, and Servlet 3.0.
  • Deployed a production Ubuntu server.
  • Minimized an iOS (iPhone/iPod Touch) version of Active Collab (consuming RESTFul APIs).
Technologies: Keychain, Xcode, AppCode, Apache Maven, Eclipse, IntelliJ IDEA, Objective-C, AspectJ, PrimeFaces, JSF, Jakarta Server Pages (JSP), jQuery, Hibernate, Spring, Java

Clarion Developer

2008 - 2012
Dogma Systems Engineering
  • Handled ERP system development and maintenance.
  • Offered final client support for system installation and configuration.
  • Ported a Clarion environment to Version Control (Dogma Version Control).
  • Integrated OCX to the system.
  • Added a production subsystem for analysis and development.
Technologies: Clarion

Byliner for iPad

I was part of the development team bringing this app to its first release. The app lets users read stories that are first shown in a collection view. The user can flip each cell in order to see more info about the story or to take different actions, such as "liking" a story, following the writer, or saving it to the user's nightstand. The app makes use of Core Data, Mixpanel integration for stats, Store Kit for In App Purchases, and Push Notifications.

Diageo Learning for Life for iPad

I was hired on a project basis by InfinixSoft to develop a CMS synchronization app, in which the final client was Diageo. The app was finished on schedule with close attention to detail and full functionality. The app functioned in both portrait and landscape modes.

SG Pilots - Roster Reminder

SG Pilots - Roster Reminder is a third party app in which Singapore Airlines's pilots can register themselves and send their roster to a certain email address. The app receives this roster, parses it, and provides useful shortcuts using this information, like schedules and alarms. I was contracted to implement non-renewable subscription to the app. I also implemented the validation server logic, which was done in PHP. In this project I learned about the Three20 framework, which I used to implement the non-renewable subscription UI.

Remote Captcha for iOS

Remote Captcha is an iOS app in which JDownloader users can get file host CAPTCHAs to solve on their iOS devices. The CAPTCHA solution is then sent to the user's computer, which allows the user to solve CAPTCHAs while away from the computer, enabling the computer to continue downloading files. Users are notified through Push Notifications when there is a CAPTCHA for them to solve. The app doesn't require any special port forwarding configuration on the user's networking device. The entire system consists of the iOS app, an async socket Java server (hosted on RackSpace), and the JDownloader plugin (Java). I handled all the development work. I learned about async socket communication (both Java Server and iOS app), In App Purchases (iOS app and Server Side Validation), gesture recognizers (Pinch and Pan the CAPTCHA image), UIKit, remote Push Notifications, memory management (before ARC), and KeyChain access and TDD in Java (Mockito, JUnit).

Security Cash for Android

Security Cash is an Android Square app for the Argentinian market. It is in the process of being available on Google Play. This was my first Android project, in which I learned about activities, background tasks, audio recordings, key stores, HTTP client requests, web service consuming, drawing with a finger feature, and more.

Audio Toolbox API design

I created an API based on the Audio Toolbox framework (Audio Queue Services). It features a parent class, AQDevice, and two child classes (AQPlayer and AQRecorder). All the behavior is included in AQDevice, and specific behavior is included under each child class. It makes use of delegate and template patterns.

Simple Variable Height Cell | UITableViewController

This project comprises the source code for a new iOS remote Captcha version, specifically for the help view. It utilizes a one-row-per-section style for its layout. All strings within the app are localized, and each row height is calculated based on the associated text. To enable users to send support requests, a "tappable" cell is provided, which opens an MFMailComposeViewController for composing and sending an email to the developer.

Languages

Objective-C, Java, Swift, Clarion, AspectJ, C, JavaScript, C++

Frameworks

Core Data, UIKit, Cocos2d-x, Media Players, StoreKit, AudioToolbox, Spring, Hibernate, Jakarta Server Pages (JSP), JSF, PrimeFaces, AFNetworking, Express.js

Libraries/APIs

Node.js, Kiwi, Facebook iOS SDK, LinkedIn API, jQuery, MagicalRecord, SpriteKit

Tools

AppCode, Xcode, WebStorm, IntelliJ IDEA, Apache Maven, Grand Central Dispatch, Mongoose

Paradigms

Functional Programming, Object-oriented Programming (OOP), Test-driven Development (TDD)

Platforms

MacOS, iOS, Java EE, Android, Eclipse, Keychain, Amazon Web Services (AWS)

Storage

MongoDB, SQLite, MySQL, Microsoft SQL Server

Other

Async.js

2006 - 2010

Bachelor's Degree in Computer Science, Design Patterns, and Systems Analysis

Universidad Tecnologica Nacional - Cordoba, Argentina

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