Hi, I’m Noah.

I am an iOS Developer specializing in Swift. I enjoy skydiving, comic books, and anything superhero-adjacent. I have 7 years experience developing in object oriented languages such as Swift, JavaScript, and C. You can view my iOS-specific app portfolio below.

Work Experience

  • owl made of keyboard symbols makes the first 'O' in 'Code for fun' logo

    Code For Fun: Mentor

    Taught programming fundamentals and debugging to high school students.

  • minimalist Stevens Institute of Technology logo

    Stevens Institute:

    Autonomously developed solutions for varying hardware & software issues whie attending the university.

Below is a list of applications I’ve developed using Swift. Each section will contain the app’s description, preview, things I learned, and a link to the source code - Said link will also hold further instruction on how to download and use it on your own device. Happy browsing!

App Portfolio: Before You Begin

APP PORTFOLIO

ComixOrganizer

About the app:

Keep track of your reading with this simple app that lists each issue under a selected title by release date and allows the user to check off completed issues. Basically a todo list app for comics ported over from the Comic Vine API.

Now using async/await & UserDefaults instead of completion handlers & Realm, respectively.

Things I learned:

  • How to use the serial-like nature of async await & Tasks in place of concurrent completion handlers

  • Where to appropriately place delegate protocol methods

  • Accessing nested API information using Enums & Coding Keys

  • Identifying and resolving hash collisions (diffable datasource)

  • Using Comparable protocol to persist progress by matching issues imported from API to a UserDefault key containing all checked items.

Technology Used:

  • Swift

  • Xcode

  • ComicVine API

SwiftNovice

About the app:

  • A bootcamp in your pocket! SwiftNovice guides the user through prerequisite courses that got me to where I am today before providing them a set of real world projects via codementor.io. I plan to create/include a slack channel to aid in completing said projects soon.

IMPORTANT:

  • This app must be run only AFTER the SwiftNoviceServerMk2 is ran. It is meant to run parallel to this server so that the data it depends on imports correctly. See link labeled view server below before running this project.

Things I learned:

  • How to create my own 'GET' API through server side Swift using Vapor

  • Deeper understanding of generics and variadic parameters in action

  • How to use inout parameters

    • allows mutation of a constant via a pointer ‘*’

  • Presentation controller [.medium()] detents

  • Unit testing

  • Deeper understanding of parent to child view controller relationships

  • Sign in status persistence and resetting root view controllers between signed in & signed out states

Technology Used:

  • Swift

  • Xcode

  • Vapor - server side Swift API

  • Codementor.io

CityMapper

About the app:

A simple geo-location app that showcases Swift powerful MapKit technology to annotate different capitals of certain locations. Each annotation contains an info button that links to each locations’ respective wiki page.

Things I learned:

  • How to use MapKit

    • MKMapView

    • MKAnnotation

    • MKPinAnnotationView

    • CLLocationCoordinate2D

Technology Used:

  • Swift

  • Xcode

  • MapKit

  • WebView

GHFollowers

About the app:

An app that lists the followers of a specific github account. Now with a navigation path back to the User Info card from the Follower List.

Disclaimer:

This was built alongside an instructor as part of a guided course then later expanded on by my own efforts with extra features and more efficient background processes: See the README and project notes in the App Delegate file for insights & differences from credited sources.

Things I learned:

  • MVC architecture alternative

  • How to use diffable data source for searchable custom cells

  • UserDefaults to store user settings

  • Efficient / Consistent code base formatting

Technology Used:

  • Swift

  • Xcode

  • Github API

NetflixClone

About the app:

A clone of the popular Netflix app. Not a one to one in terms of functionality, but the data fetching works as expected. There is also a search feature and video player powered by YouTube embedded to show trailers for each selected title.

Disclaimer:

This was built alongside an instructor as part of a guided course then later expanded on by my own efforts with extra features and more efficient background processes: See the README and project notes in the App Delegate file for insights & differences from credited sources.

Things I learned:

  • How to use completion handlers

  • Data fetching using an API

  • MVVM Architecture

  • Core Data / Context

Technology Used:

  • Swift

  • Xcode

  • themoviedb API