Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

AvyEyes screenshot

AvyEyes is a web application for reporting and sharing avalanches in a three-dimensional, interactive view.

The typical AvyEyes use case is as follows:

  1. Backcounty Bob is out skiing with his friends (in the backcountry of course) and triggers an avalanche
  2. Bob comes home and goes to where he creates an avalanche report by drawing the avalanche path perimeter in the 3D view and entering the avalanche details (standard SWAG fields and free form comments), including pictures he took of the slide
  3. Bob submits the report and receives a confirmation email with the unique eight-character report identifier
  4. Bob then shares the unique report URL ( with anyone he wants to inform of the slide

AvyEyes is online at

A few example reports:

The Code:

Server-side API code is written in Scala and runs in the Play Framework. Tests are written in Specs2 with Mockito for mocking and ScalaCheck for test object generation.

The AvyEyes client is a pure ES6 Javascript React project which makes heavy use of Google's Material-UI library. The 3D view is provided by CesiumJS. The AvyEyes client is an NPM project that uses Babel to transpile React JSX, and Webpack to organize/build/optimize the Javascript.

AvyEyes is deployed in AWS as an Elastic Beanstalk app with a Postgres RDS instance providing persistence and S3 providing file storage.