Projects

NY Snowmobile Webmap

https://nysnowmobilewebmap.com
NY Snowmobile webmap screenshot
  • Javascript
  • Ruby
  • Sinatra
  • PostgreSQL
  • PostGIS
  • SQLite
  • Leaflet.js
  • Carto
  • Go
  • Android
  • Java
  • Kotlin
  • iOS
  • Objective C
  • Swift

Our main "baby" at Mohawk Valley GIS. The NY Snowmobile Webmap is an internal project supporting snowmobiling in New York State. The project consists of a robust interactive webmap and native Android/iOS apps.

The interactive map allows riders to plan their routes along the trail network and supports multiple stops, ala Google Directions. Users can then share these routes with others in the cloud, or send the routes to their phones for following along out on the trails. Riders can also see the real-time traffic of fellow riders, or detect which trails are at their best using our crowd sourced Trailsenseā„¢ algorithm.

The native apps allow users to get turn by turn voice-assisted directions along the trail network, without the need for a network connection. These apps also provide the crowd sourced data for the Rider Activity and Trailsense features.

Ithaca Trails

https://ithacatrails.org
Ithaca Trails screenshot
  • Javascript
  • Redux
  • Ruby
  • Sinatra
  • PostgreSQL
  • PostGIS
  • Leaflet.js
  • Carto

IthacaTrails.org is a data driven site and webmap showcasing multi-use trail in Tompkins County NY. The site features a robust search mechanism for all types of trails that instantly displays valid search results. The search works stand alone on the homepage as well as being integrated into the map.

This site is entirely driven by geospatial data. A custom content management system is used to interface with the data at Carto.com and allow trail updates and new photos to be uploaded to the site.

Clodiku

https://github.com/dvail/clodiku
Clodiku screenshot
  • Java
  • Clojure
  • Kotlin
  • Gradle
  • libgdx
  • Ashley ECS

Clodiku is a "forever" project of mine, meaning that the scope of features and development time will last... forever. This project is a 2D action adventure game and development testing ground for new ideas.

In its first iteration, the game was written almost entirely in Clojure and all of the game logic was purely functional. Any change to the state of the game returned a new instance of the entire world, which was then itself be fed back into the system 60 times a second. This was a great learning resource for diving into functional programming, but ultimately it was more work than it was worth. The current version has been rewritten in Kotlin, which strikes a nice balance between pragmatism and expressiveness.