Waypoints / Map
Waypoints are a collection of geospatial points that are used by anglers to mark locations of interest. These points can be used to mark fishing spots, hazards, or other points of interest. Waypoints is an embedded CRUD application on top of Omnia's richly interactive map. I led and completed this feature set independently along with other foundational map development.
Like the broader map app waypoints is built on React, Mapbox, and Rails. It allows users to drag and drop points, store notes, upload images, and import and export .gpx files via CSV. Using basic unique constraints in the persistance layer duplicate waypoints were prevented. Users can also filter waypoints by type, date or lakes and may share waypoints with other users.
One of the interesting challenges in this build out was as users surpassed 1000 waypoints the map became sluggish. Instead of using native mapbox markers I converted waypoints to a geojson layer. This didn't prove to be inherently difficult, but styling challenges increased when working with the geojson layer and mapbox gl's native styling language.
The work on this project allowed me refactor how the map was loading and to solve multiple bugs with out of sync modules during the load process.