Hello World
I'm Riccardo

Passionate iOS developer & italian food lover.

At Whoosnap s.r.l. (Insoore)

Experience

I work with a team of developers writing, testing, fixing code for the apps in production using the Agile methodology. My focus is rewriting the apps from UIkit to SwiftUI, implementing Units Tests, using Dependency Injection and the MVVM architecture always with the aim of maintainability. I had to be completely independent after the firsts months when the senior developer left, which led me to take more responsibilities. I have to fix production bugs, and add new feature to the apps.

Technologies used

Swift, SwiftUI, Combine, CoreData, async await, Restful Api, Swinject, Push Notifications, Multiple targets, Google Analytics, Unit Test, MVVM

Things I learned

  • Work in a team
  • Work on production apps with lots of users
  • Maintainability in mind
  • Take the right engineering decisions
  • Problem solving
  • Hold on programming principles
  • Have fun in the process
Open on App Store

Goal Achiever - Focus Habit

About the App

This app helps you to stay consistent, keeping track of the time spent and giving feedbacks based on your expectations. Goal Achiever will keep reminding you with notifications when is the best time to work through your goals helping you staying consistent on what matter the most: your goal!

Technologies used

SwiftUI 2.0, CoreData, Google Analytics, Firebase, AdMob, UserNotifications, Combine, StoreKit

Things I learned

  • Create Custom views on SwiftUI using a metamorphic design technique
  • CoreData integration with SwiftUI
  • Using the MVVC design pattern
  • Implement the In-App Purchase API and create the store using Store-kit
  • Differentiate the premium and free version of the app and linked with the store logic
  • Implement Advertisment with AdMobs (banner and Interstials)
  • Implement Google Analytics
  • Working with the background and foreground to make the timer work
  • Go through App review process (and counting for each updates)
  • Implementation of StoreKit to ask a review from the user
  • App Store Optimization (ASO)
  • Usage of apple search ad
Open on App Store Open on GitHub

Video Diary

About the App

With Video Diary you can add a video for each day of the calendar when you press the merging button you will have a movie collage of all the videos, you can also specify a custom time range for the merging. You will have a movie which you can share

Technologies used

UIKit, Collection Views, xib, AVKit, UIImagePickerController, FileManager, UIActivityViewController, AVFoundation

Things I learned

  • Create a Collection View
  • Create a table view
  • Usage of MVC pattern, Singletons, and properties injection
  • Work with AVKit to create a custom merging video class
  • Work with UIImagePickerController to pick the videos
  • Usage of FileManager for saving the videos in the storage and JSON file for the data
  • Usage of UIActivityViewController for enabling the sharing of the movie
  • Creation of custom .xib views
  • Usage of AVplayer with AVFoundation
Open on App Store

Radar Reminder

About the App

This is one of my client’s app which I made several updates, one of the biggest included to write all the necessary code to make the user able to purchase the auto renewal subscription, and the verification of the receipts from the apple server. I also work on the Banner and interstitial and many other fixes. For more info on what the app is about check the link of the App Store.

Technologies used

In-App Purchase, Storyboards, Open Maps SDK, Google Analytics, Firebase, AdMob, UserNotifications, StoreKit, Core Location

Things I learned

  • Using the MVC design pattern
  • Fixed several bugs on the UI side with Storyboard and programmatic elements
  • Implement the In-App Purchase API and create the store using Store-kit
  • Receipts validations logic
  • Worked with Open Maps API
  • Implement Advertisment with AdMobs (banner and Interstials)
  • Implement Google Analytics
  • Fixed several bugs of Local Notifications
Open on App Store

Loot Logger

About the App

Usefull app in case you have a fire at home or a stealing. It's a great tool to keep a log of your belongings and make a report ready to go.

Technologies used

UIKit, TableViews, UIImagePickerController, NSCache, NotificationCenter, FileManager

Things I learned

  • Work with Table View
  • Usage of MVC pattern, and properties injection
  • Work with UIImagePickerController to pick the images
  • Usage of FileManager
  • Usage of NSCache to save the images temporarely
Open on GitHub

FlashChat

About the App

Flash Chat is an internet based messaging app similar to WhatsApp, it uses a service called Firebase as a backend data server to store and retrieve the messages from the cloud

Technologies used

Swift, UIkit, Firebase, TableView, IQKeyboardManagerSwift

Things I learned

  • Create of Custom .xib file in the StoryBoard
  • Implementation of Firebase SDK
  • Setting up of Firebase backend
  • Using the MVC design pattern
  • Creation of TableViews
  • Usage of Costant file
Open on GitHub

Clima

About the App

Clima app you can check the weather for the current location based on the GPS data from the iPhone as well as by searching for a city manually

Technologies used

Swift, UIkit, URLSession, Core Location, Grand Central Dispatch, Encodable and Decodable protocols

Things I learned

  • Parse JSON with the native Encodable and Decodable protocols.
  • Learn to use Grand Central Dispatch to fetch the main thread.
  • Learn to use Core Location to get the current location from the phone GPS.
  • enable dark-mode app
Open on GitHub

ByteCoin

About the App

ByteCoin convert in realtime the price of the Bitcoin with the selected currency

Technologies used

Swift, UIkit, URLSession, Grand Central Dispatch, Encodable and Decodable protocols

Things I learned

  • Parse JSON with the native Encodable and Decodable protocols.
  • Use of Grand Central Dispatch to fetch the main thread.
  • usage of URLSession
Open on GitHub

Pong

About the App

Pong is a table tennis–themed arcade video game, featuring simple two-dimensional graphic, you can play against the CPU or with your friends

Technologies used

Swift, UIkit, SpriteKit, GameplayKit

Things I learned

  • Usage of SpriteKit
  • Usage of GamePlaykit
Open on GitHub