Portfolio

I’ve been developing iOS applications for more than three years, by interoperating both Objective-C and Swift to code.

I enjoy learning new skills, the time and effort invested in developing software have made me qualified to take on challenging projects.

Working in this industry I have gained the necessary tools that aid me in becoming a better software developer, especially the challenges that each project has to offer from delivery, development, innovation, my clients’ satisfaction, and most importantly the everlasting obtained knowledge.

Below are a number of selected apps from my portfolio

CityNabz

Language: Objective-C

Tools: AFNetworking, REST API, Push Notifications, Location Services, Google Maps, Social login/Share

Design Pattern: MVC

Version Control: Git

CityNabz is an entertainment & activities app that lets users check for fun events around them based on their location.

In Early 2016 while working at Ogma Inc. I was assigned to be part of the development team that was working on this project. At first, my main responsibilities were updating the design by using AutoLayout to make sure everything scales beautifully on all iPhone screen sizes, creating custom reusable views that would be incorporated into the project, & fixing design issues, but as time passed by I became more involved in the development process​. The project was developed using Objective-C, some CocoaPods & third party libraries used in this project are AFNetworking, GoogleMaps, Google & Facebook login, Google Analytics to name a few.

In 2017, I became responsible for maintaining & updating the project, managing any new features that would come up as the app progressed over time, also leading junior developers so that they grow their development skills.

Some of the responsibilities were:

  • Setting up local notification
  • Handling push notifications
  • Caching data
  • Getting data using REST API's
  • Creating interactive custom reusable views
  • Memory management
  • Social Login & Share

Don't Get Cold

Language: Swift 5

Tools: REST API, Location Services, Today Extension

Design Pattern: MVVM

Version Control: Git

Don't Get Cold delivers weather forecast with a simple yet contemporary design.

In 2018, I started this personal project by accessing data from OpenWeatherMap, which offers free Weather APIs, one of the most important features implemented is Location Services, the app gets access to the current weather & sixteen-day forecast APIs. The app gets the users location & based on the city that they are in it displays the temperature with beautiful background images that are based of the weather condition and the local time of that city, the user can select any city to see the weather conditions with all of it's detail & a sixteen-day forecast. They also can add any city from the provided data of OpenWeatherMap to their list, which then I cache & save the added cities on the users device with the selected temperature measurement.

This is an open source project here's the github link: Don't Get Cold.

Emoji TicTacToe

Language: Swift 5

Tools: Firebase, AdMobs, In App Purchases, Apple Watch support, Localization

Design Pattern: MVVM

Version Control: Git

Emoji TicTacToe is a modernized version of Noughts and Crosses, which uses emojis instead of X & Os.

I've created this project using Swift as a fun way of showcasing my skills as a programmer, I used Auto Layout to scale their pixel-perfect designs to the various sizes of iPhone and iPad devices.

The game has a custom built AI which the user can play with by selecting one player mode, the AI has three difficulties easy, medium, and hard. the saved gets saved automatically whenever the user gets a phone call.

Chronicon

Language: Objective-C

Tools: AFNetworking, REST API, Notifications

Design Pattern: MVC

Version Control: SVN

Chronicon was the first project that I worked on at Ogma Inc. it's a Calendar that basically showcases the holidays & celebration of religious, secular, & other events of different cultures.

In 2015, the app was going through major feature improvements with a new design and updated data base. I used Autolayout to ensure that everything scales perfectly across all screen sizes for both iPhone and iPad. AFNetworking was used to handle network calls and access data from the backend, which was then sorted in-order to display the current events, the users could scroll back and forth to see past, present and future holidays.

From the settings page, the users were able to select any calendar, and the option to get notified. I was able to set up the notification for future events of the selected calendars.

The project has been discontinued.