Alex Urquhart
Geomatics Professional

About Me

I’m currently employed as a Geomatics Technician in the Canadian Army, where I do all manners of geospatial work including creating maps, performing spatial analysis, developing web maps, and providing geomatics advice to decision makers, all in support of CAF Operations in Canada and abroad.

In my spare time I enjoy exploring Ottawa, cycling, and sport skydiving. I have been jumping out of perfectly good aircraft since 2009.

Gen. Tom Lawson, Chief of Defense Staff, briefs the media on Operation IMPACT.
Occasionally my products make the news. Source: The Globe and Mail

How I got started

Like many other nerds I acquired a taste for tech early in life. I started making websites with the GeoCities and Homestead WYSIWGY editors when I was about 10 years old. Then, upon hearing that these websites were made up of this neat little thing called HTML I dived right into making ugly websites sites for both my Microsoft Flight Simulator and Zelda obsessions. Later I discovered PHP and MySQL, and stared creating incredibly bad and probably insecure, but interactive, websites.

Around the same time I started web programming I also began learning C++. By the time I graduated high school I had made a few fun 2D and 3D games.

My Work

I’ll attempt to detail some of the projects and activities I’ve been involved in over the years.

Plottr.io
2018 - Present

Plottr is an app to help you plan running and cycling routes. The front end is written in JavaScript, and uses Vue.js, Turf, Leaflet, and the HERE routing API/basemap services.

The back-end is written in Node.js/TypeScript, and uses Express.js and Postgresql.

vue-bootstrap-typeahead
2018 - Present

An autocomplete component for Vue.js 2, using Bootstrap 4 CSS. This component is published on NPM

Account Mover
2016

AccountMover.Com allows Reddit users to securely backup and transfer saved items and subreddit subscriptions between different accounts. I did a write-up of the different tech I used here.

flask-webapp
2016

A starter template for a Flask web app, including async task queue, social login, and integreated debug toolbar.

hugo-geo
2015 - Present

The theme for this blog. Written with Twitter Bootstrap, LESS CSS pre-processing, and d3.js for the animated sidebar. The theme has been published on the Hugo Themes Index

Free Tile Index
August 2015

A small site that compares and contrasts many of the popular free basemap tile sets that can be used for web mapping. Allows you to quickly start a new web map on Codepen or Jsfiddle using your selected basemaps and overlays.

qapi
2015

An API wrapper the Questrade API, written in Go.

rlimit
2015

A library written in Go that aims to simplify complex rate limiting scenarios.

Tweetmap
2014 - 2016

Web based filtering and analysis of the Twitter live stream for the Ottawa-Gatineau area. I have been working on this project in one iteration or another for awhile, and it’s a pet project I’ll always be tinkering with. The first version listened to the Twitter firehost with Node.js, saved the data to a PostGIS database, and pushed a marker to the web clients using Socket.io.

The latest version is divided into separate feed listener, websocket server, REST endpoints, and static website applications.The The feed listener, websocket server, and REST endpoints were all written in Go, while the front end uses Typescript, d3.js, and Leaflet.

Knowledge Management System Web Mapping Service
2013

The finished product of my project management course taken at Algonquin College, and my first “web app” was the geospatial Knowledge Management System, which was a proof-of-concept web application created for the National Search and Rescue Secretariat to showcase the benefits of adding geospatial search functions to their existing KMS. It was built using the Google Maps API, classic ASP (dear god, never again), and the analysis was done using ArcGIS 10.

Other Work

I’ve uploaded a few random projects that I wouldn’t consider complete to Github for safe keeping. You can check them out, as well as my contributions to other projects on my GitHub profile.

comments powered by Disqus