Noah L. Pope

I am an educator and iOS Developer specializing in STEM and Swift respectively. I enjoy skydiving, comic books, singing, and anything superhero-adjacent. Tambiรฉn estoy aprendiendo espaรฑol.

I have 3 years experience in education via tutoring & substitute teaching and 8 years experience developing in object oriented languages such as Swift, JavaScript, and C. You can view my iOS-specific app portfolio below.

PORTFOLIO

Work Experience

  • Austin ISD: Educator

    Worked as a substitute educator for elementary through high school levels with a focus in STEM (Science Technology Engineering & Math).

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

    Code For Fun: Mentor

    Taught python programming fundamentals and debugging to high school students.

  • minimalist Stevens Institute of Technology logo

    Stevens Institute: IT Support

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

  • Cierra Sisters: Web Developer

    Developed a website for Seattle based cancer survivor nonโ€”profit.

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

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.

Technologies Used:

  • Swift

  • Xcode

  • Vapor - server side Swift API

  • Codementor.io

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.

Horns-To-Toot:

๐ŸŽบ How to create my own 'GET' API through server side Swift using Vapor

๐ŸŽบ Gained deeper understanding of generics and variadic parameters in action

๐ŸŽบ Learned how to use inout parametersallows mutation of a constant via a pointer โ€˜*โ€™

๐ŸŽบ Used presentation controller [.medium()] detents

๐ŸŽบ Performed 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

SwiftSearcher

About the app:

A more focused version of my โ€˜SwiftNoviceโ€™ app (below), SwiftSearcher cycles through every project provided by Paul Hudsonโ€™s Hacking With Swift/iOS course in a beautiful, easy to use table view that takes advantage of Apples Diffable DataSource to provide live updates.

Technologies Used / Learned:

  • Swift

  • XCode

  • MIT's Swift Keychain Wrapper

  • Core Spotlight

  • SFSafariViewController

  • NSAttributedString

  • Dynamic Type

  • Automatic UITableViewCell sizing

  • Google Apps Script - converts shpreadsheets into useable APIs

Horns-To-Toot:

๐ŸŽบ Instead of creating only the first 8 projects from scratch to load into the tableview as Paul Hudson instructs, I've constructed a Project model that holds / loads a project's title, subtitle, index, and skillset to be decoded via an api call (see next horn)

๐ŸŽบ Created a fully functional API for the hacking with swift website's project list page using Google's App Script to pull values from a spreadsheet I wrote myself

๐ŸŽบ For the API call needing a bit of time before the user sees anything, I've converted the normal tableView into a custom DataLoadingViewController to show progress

๐ŸŽบ Added a search feature using a diffable datasource, requiring me to make the SSProject model both hashable and codable

๐ŸŽบ Implemented  scene delegate's scene(_ scene: UIScene, continue userActivity: NSUserActivity) to obtain and use my indexed item's info to navigate to the appropriate link via Spotlight

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.

Horns-To-Toot:

๐ŸŽบ Learned how to use the serial-like nature of async await & Tasks in place of concurrent completion handlers

๐ŸŽบ Learned where to appropriately place delegate protocol methods

๐ŸŽบ Accessing nested API information using Enums & Coding Keys

๐ŸŽบ Identified and resolved hash collisions in Diffable DataSource

๐ŸŽบ Used Comparable protocol to persist progress by matching issues imported from API to a UserDefault key containing all checked items.

Technologies Used / Learned:

  • Swift

  • Xcode

  • ComicVine API

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.

Technologies Used / Learned:

  • Swift

  • Xcode

  • MapKit

  • WebView

Horns-To-Toot:

๐ŸŽบ Learned how to use MapKit

  • MKMapView

  • MKAnnotation

  • MKPinAnnotationView

  • CLLocationCoordinate2D

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.

Technologies Used / Learned:

  • Swift

  • Xcode

  • Github API

Horns-To-Toot:

๐ŸŽบ Learned MVC architecture alternative

๐ŸŽบ Used Diffable DataSource for searchable custom cells

๐ŸŽบ UserDefaults to store user settings

๐ŸŽบ Efficient / Consistent code base formatting

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.

Technologies Used / Learned:

  • Swift

  • Xcode

  • themoviedb API

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.

Horns-To-Toot

๐ŸŽบ Learned how to use completion handlers

๐ŸŽบ Fetched data using an API

๐ŸŽบ Used MVVM Architecture

๐ŸŽบ Used Core Data / Context