This website generally posts the location of Tom Olson. This site exists for the following reasons:



So in order to manage this, he set up this website. This page intends to share some of the technology behind it. It's more to keep the information as open as possible, in case anyone's looking to do something similar in the future. Components will be available on Github eventually.

Hosting/Website

This site has been set up through Amazon Web Services, using S3 buckets for content, Cloudfront for distribution and SSL, and Route 53 for hosting. The website was written in Notepad++ with Bootstrap and a little jQuery. The Google APIs provided the Calendar and Map widgets.

In the future the hope is also to add some user authentication to the site, allowing for contact information and location-based information to be available for those that may need to know more private/personal information.

Other future integration is anticipated with Flickr and Instagram for images and Blogger and Google Docs for travel notes (to offer some additional travel content over top of the location service).

Backend Services

An AWS Lambda function runs periodically to checks a Twitter account for the most recent post identifying GPS location information. After checking that GPS information, the Lambda function uses the Google Maps API to derive a more generalized locality from the GPS coordinates (so with coordinates (39.286695, -76.608266), instead of getting a specific location like "501 East Pratt Street, Baltimore" you can get more general zones like "Baltimore City", "Maryland", or "United States"). From there, that generalized result gets written to the website's S3 bucket at tomLocation.json.

Using an alternate service like Twilio may be a good choice in the future, but currently Twitter's free tools are good enough.

Location Client

To share location information Tom wrote a small Android application called WhereIs. The application pulls current location information from the phone and messages the GPS coordinates to a Twitter account.

This application was written in Android Studio, and is built for later versions of Android (SQK version 17+). It's built using Android as well as the Google Play Services.

Eventually Tom hopes to generalize the app and have it act as a GPS tracker with less specific posting capabilities so other people could use this application rather than it being a custom tool.