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.
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).
-

Code For Fun: Mentor
Taught python programming fundamentals and debugging to high school students.
-

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