<img height="1" width="1" style="display:none" src="[https://www.facebook.com/tr?id=338168267432629&amp;ev=PageView&amp;noscript=1](https://www.facebook.com/tr?id=338168267432629&amp;ev=PageView&amp;noscript=1)">


Delivered a multiplatform app, utilizing custom mapping technology, to thousands of active users

Squatingdog Header 2

About The Project

Famous Fortnite streamer Squatingdog has been providing challenge maps to his followers for a long time. With his new app, the same maps are interactive and have a lot more features. Built from the ground up for Fortnite Battle Royale players, this app is updated weekly. Users are able to find everything they need to complete the challenges. With a 4.5 rating on Google Play and a 4.9 rating on the App store and thousands of reviews, we are particularly happy with the positive feedback we've had from users on this app.


Delivered a multiplatform app, utilizing custom mapping technology, to thousands of active users

One of the challenges that we prepared for was scaling the app smoothly as the user base joined and grew. With the launch of the app we knew that we needed robust systems in place to handle a large influx of users. For that reason we used Heroku because it has autoscaling.

In order to optimize the performance of the app, we switched from rendering all the markers within the frame of a user's view to rendering only those markers that are where a user is zoomed in on the map. Which markers get displayed is determined by how close that marker is to the center of a user's zoom point. It is the type of solution that is simple and easy for computers to implement and helped a great deal with the performance of the app.

Another feature that we are proud of is tracking the user's navigation history. When the app was originally released, it became clear that this was something the audience wanted! Based on how a user drills down and clicks on an item on the menu or a marker on the map, the back button takes you up the hierarchy of the item's category not back in history. This allowed users to navigate the menus more cleanly as well as keep track of the challenges more clearly. For example, if you go back and it happens to be a marker, it will automatically take you to the marker's location.


Delivered a multiplatform app, utilizing custom mapping technology, to thousands of active users

As with many of the mobile apps we work on, we built this in ionic. Ionic was capable of
handling all the features we needed to build, while also keeping the budget lean. With Ionic we can use a single codebase to deliver the app both to Androids and iPhones.

A main aspect of the app is rendering the maps for each season. We chose GoLang for the map tile server because it is fast, especially as a webservice. In combination with that we used the library Mapbox GL, a JavaScript library that uses WebGL to render interactive maps from tiles. We convert a single image of a map into a tileset composed of smaller images called raster tiles. The images get rendered as you zoom and out, providing the user a smoother experience as they interact with the maps. We built an admin side to the app where each map can be uploaded and activated for each new season. Perhaps one of the coolest pieces of technology we leveraged was an open source software called GDAL which  converts a standard image of a map into the raster geospatial data we need for WebGL.

We used Node to handle the thousands of concurrent users. Node is able to handle requests asynchronously, not waiting for each request to complete before moving onto the next. Instead it processes all requests as they come in. Our database is MongoDB with Redis for cache to help with the number of requests made.


A great balance between programmatic ideals and practicality.


A great framework for well-architected front ends.


The most respected framework for creating quality web software.


A powerful platform to support mobile development for iOS and Android.

Bring order to your chaos

Benefit from an experienced CTO in your back pocket for a fraction of the cost