Skip to content
View shawn-frank's full-sized avatar

Block or report shawn-frank

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this userโ€™s behavior. Learn more about reporting abuse.

Report abuse
shawn-frank/README.md

Hello there, Shawn here

Shawn screen gif

My name is Shawn Frank and I am a native iOS specialist based in Brisbane, Australia. I develop iOS applications using Swift (or Objective C if required) and I am especially passionate about creating feature rich applications with a delightful user experiences. I currently work as a software engineer at Nine Entertainment.

๐Ÿ“ซ Reach me at shawnfrank.work@gmail.com

๐Ÿ“„ Interested in my experience? Review my resume

Client Projects

Shaman Pitch Presentation App

Shaman is a presentation platform that enables its customers to close more deals and was founded by Maurice Van Leeuwen from the Netherlands. Maurice visited me in Dubai back in 2014 to work on Shaman and we started with a team of just 3 people. I was initially incharge of designing the UX, developing the iOS app and managing the development. By 2016, Shaman started gaining momentum with more customers and I helped Maurice expand the Shaman team so that we could move faster. Here were some of the project highlights:

  • The app was developed in Objective C
  • Key Apple Frameworks: Multipeer for screen share, CoreData, UICollectionView and FileManager to name a few
  • 3rd Party Frameworks: AFNetworking, Crashlytics, Sentry, SocketCluster, GCD Web Server
  • Other interesting technology: GraphQL
  • Designed the UI / UX for the first 3 years of the app
  • Developed several custom controls and UI elements
  • Managed a few backend developers for the first 3 years before helping Maurice grow the team

Learn more about Shaman from their website or check out the iOS app here.

Alternatively, you could watch the video below to learn more about Shaman and get a glimpse of the iOS app in action.

Intro_to_Shaman.mp4

Spuble - Real Life Speech Bubbles

Spuble is a project that I hold quite close to my heart for several reasons. First, it made a real impact in the lives of senior citizens who lost their hearing ability over time. Second, I had the chance to collaborate with some talented people over at Memac Ogilvy. And last, but not least, the app won an award at the the Dubai Lynx Festival in 2017 in the category of innovative technology. Here was how I was involved:

  • Developed the app in Swift
  • Used AutoLayout to scale the app for iPhones & iPads
  • Leveraged localization to enable the app to support English & Arabic
  • Integrated Nuance's Dragon Speech to Text SDK
  • Worked on the UX R&D with Gary (Art Director at Ogilvy) for 8 months to make the app as simple to use as possible
  • Pitched the app with Gary at the Dubai Lynx Festival

The app is no longer on the store, so you can learn more about it from the video below.

Spuble.mp4

Harman Kardon

Harmon Kardon app screenshots

Harman Kardon stores are built with demonstration capabilities for their entire range of products, however, they wanted to enhance this experience so I was commissioned to work on this project. After several discussions with the Harman team, and their media partners, Mood Media GCC, there was a consensus that an iPad app which not only informed prospective buyers about their range of speakers, but also all allowed them to test drive any speaker that was on display. Here was what I got up to while working on this project:

  • Designed and developed a delightful user experience that was on brand, intutitive and engaging
  • Developed the iPad app using Swift
  • Key technology used was AVPlayer, UIKit, FileManager and AlamoFire
  • Realm was the database of choice to store app related content and user interaction data
  • Managed a backend developer on this project who was responsible for developing a CMS and Dashboard
  • Helped with deploying the app across multiple iPads in different stores across Dubai

The app is not on the App Store, however, I can give you more details if required in person.

Zabeel Ladies Club

ZLC screenshots

Zabeel Ladies Club (ZLC) has a world class health & fitness facility and their digital precense follows suit for the most part, however, their mobile app was not on brand. I was hired by ZLC to refresh their existing mobile app in terms of user experience and functionality and here were some of my responsibilities:

  • Upgrade the user journeys and user experience of the current ZLC mobile app
  • Develop the iOS app from scratch using Swift
  • Program custom UI interface elements, controls and interactions
  • Integrated with MindBody
  • Integrated with Mux.com to achieve video streaming on demand
  • Led a remote team consisting of a UI Designer, Backend Engineer and an Android Engineer while developing the iOS app

The app was handed over to the ZLC team to continue and is currently undergoing QA tests since I was relocating to Australia, however I can share more details about the project in person if required.

Indie Projects

PanoStory

PanoStory_App Screenshots

I met a UX designer / product manager named Alex Cox from San Francisco via UpWork when he commissioned me to develop Readers - an app that used an iPhone's camera as a magnifying glass. We enjoyed working together and once readers was launched in early 2021, we started building PanoStory. We found that user's had no easy way to share their Panoramas without cutting them up and so PanoStory converts any panoramic photo into a story-ready video to showcase the beauty of your shots. Here were some of my responsibilities:

  • Work with Alex and another designer to finalize the UX of the app
  • Developed Pano in Swift with several custom UI elements and user experiences
  • The complete iterface was developed programatically using AutoLayout without storyboards
  • Integrated PhotoKit to automatically sync Panoramas from the user's gallery
  • Leveraged AVFoundation & CoreAnimation to convert panoramas into videos
  • Integrated StoreKit so that users could pay to remove ads
  • Leveraged Firebase for Push Notifications, Crashlytics and Event Tracking

Check out PanoStory on the App Store.

Reliable Radio

Reliable Radio App Screenshots

Reliable Radio is the brainchild of an AWS solutions architect named Dawid Gatti. Dawid was the product lead while I was developing an iOS SDK for Banyan (see above). Dawid is based in Italy and often goes for long drives in the mountains where his radio and streaming apps often disconnect due the network being unreachable at some parts. Once discounnected, these apps would not reconnect back which required Dawid to restart the app while driving. Dawid hired me to build Reliable Radio to solve this problem and here are some highlights of the project:

  • Implemented auto reconnect by observing AVPlayer's streaming notification and network rechability notifications
  • Added CarPlay support which was something I had to learn while building this app
  • Made use of CoreData with CloudKit to sycnrhonize user's saved radio stations across all their devices
  • Connected with the iTunes / Apple Music API in order to display the currently playing song's artwork

The project is no longer live, you can learn more about Reliable Radio on Product Hunt.

Barakah Coupons

Barakah App Screenshots

Barakah Coupons is a promo code app for online shops that I launched in 2021 with 3 friends. We are currently working on adding a feature to support offline deals. Here is what I was involved in while working on Barakah Coupons:

  • Plan the user experience of the app along with a UI designer
  • Develop the app using Swift
  • The complete iterface was developed programatically using AutoLayout without storyboards
  • Achieved English & Arabic support using localization
  • Leveraged Firebase for Push Notifications, Crashlytics and Event Tracking
  • Managed a backend developer to develop a CMS and dashboard for us

Check out Barakah Coupons on the App Store.

A few words from some of my clients on Upwork

Reliable Radio Testimonial

Deliver ME Testimonial

image

Popular Stack Overflow answers on various topics

Multipeer Connectivity - Get file transfer(Internet) speed and File Size in Swift 5

why I canโ€™t open a App Store link inside a web view?

Detect when AVPlayerViewController is closed

Restrict to move/drag the pdf annotation within PDF Page boundary

How can i get list of all videos in swift

Current coordinates of a tableViewCell swift

AVAudioPCMBuffer as Base64

Need Header on Top for Horizontal UICollectionView UIKIT

How do I Fade Label out at end instead of replacing end with "..." if it's too long

Customise font color of each segment in UISegmented Control

Getting nil data when try to cancel a task and restart it again Swift

UIView With Pointed Edges

Animate a line between two points - swift

Swift - How to dismiss all of view controllers to go back to root

Languages, Technology & Tools

Programming Languages

  • Swift (Primary)
  • SwiftUI (Primary)
  • Objective C (Primary)
  • C++ (Secondary)
  • Java (Secondary)
  • C# (Secondary)
  • Core PHP (Secondary)
  • SQL (Secondary)

Databases

  • MYSQL
  • SQLITE
  • Realm
  • CoreData

Apple Frameworks I have worked with

  • AVFoundation
  • CarPlay
  • Combine
  • CoreAnimation
  • CoreData standalone and with CloudKit
  • CoreLocation
  • FileManager
  • Multipeer Connectivity
  • PDFKit
  • PhotoKit
  • StoreKit
  • UIKit
  • WebKit

3rd Party services I have worked with

Tools & Technology

  • XCode
  • Git
  • CocoaPods
  • Swift Package Manager (SPM)
  • Charles / Proxyman
  • Wiremock
  • Fastlane
  • Postman
  • Figma
  • Adobe XD
  • Invision
  • JIRA
  • Trello

Connect with me

๐Ÿ“ซ Reach me at shawnfrank.work@gmail.com

๐Ÿ“„ Interested in my experience? Review my resume

shawn-frank 1619193

Thanks for stopping by ๐Ÿ‘‹๐Ÿพ

Pinned Loading

  1. MultiPeer-Progress-iOS MultiPeer-Progress-iOS Public

    Swift project to demo the use of the MultiPeer framework to send files between iOS devices and show the progress

    Swift 6 1

  2. FadingLabel FadingLabel Public

    A custom UILabel that fades away the tail end of your text in the event of your text being too large to fit within the label's frame.

    Swift

  3. AudioMovieExporter AudioMovieExporter Public

    Export your audio files as videos which can then be shared on social media or saved to your Photos app

    Swift

  4. HLSDownloader HLSDownloader Public

    An example of using AVAssetDownloadTask in Swift to download HLS content to disk for offline playback in iOS devices.

    Swift 2

  5. Closest-Points-In-A-Region Closest-Points-In-A-Region Public

    Find the closest pair of CGPoints that exist in a region

    Swift

  6. Swift-Data-Structures-And-Algorithms Swift-Data-Structures-And-Algorithms Public

    Here you will find some lightweight and easy to understand implementations of popular data structures and algorithms using Swift

    Swift