App logo

Asteroid Vision

Download

Asteroid Visison is an iOS app to browse browse and filter asteroids. This was made possible by the NASA NEO Objects REST API. Users can explore orbital data and build a list of favorites.

SwiftUI
MVVM
Swift Concurrency
SceneKit
Browse Hazardous Asteroids

Browse Hazardous Asteroids

Asteroid History and Orbital Data

Asteroid History and Orbital Data

Control Units

Control Units

Architecture

I built this app following the MVVM pattern. I had an API service that was responsible for fetching the asteroids. For this service, I used URLSession and modern swift concurrency, using things like async await and group tasks. The API service fetched the JSON objects and returned it the viewmodel, which perfomred the buisness logic and provided the view the data for the user interface.

Using Observation

Users can change their unit preference in the unit control center. This was handled by storing an observerable object in the environment and passing this a bindable to the control center, so that one source of truth is maintained. Users unit selection are also stored in UserDefaults.

Noah Giboney

2025