Camping Suitability Forecast
A 7-day camping suitability dashboard for 131 Wisconsin and Minnesota state parks. Combines dynamic weather forecasts (temperature, precipitation, wind, air quality, storm risk) with a static wetland proximity layer to produce a daily composite camping score per park. Scores are computed in a GitLab CI pipeline that runs 4× daily, uploaded to S3, and served to a static Netlify frontend via a lightweight AWS Lambda + API Gateway pass-through.
Sole developer
Landscape Search Engine – Wisconsin
An interactive Shiny app for finding locations in Wisconsin with landscapes similar to a user-selected area. Uses neural networks (VGG16, ResNet-50, NasNet) applied to 30m DEM data to compute terrain similarity, combined with MODIS NDVI for vegetation matching. Users control the relative weighting of terrain vs. vegetation and can set a minimum exclusion radius to surface results farther afield.
Lead developer — UWEC-funded research project
Shade Tool
A web application for identifying shade coverage for structures — houses, fences, gazebos, trees — of a given height at any location, for any day and time of day. Uses the sun’s azimuth and altitude (via the suncalc library) and a bit of trigonometry to project where a structure’s shadow will fall. Built to plan a backyard grill shelter that would shade a patio table through the summer evenings.
Sole developer

eqr R package
Lightweight R package wrapping the USGS FDSN earthquake web service. Provides functions to query earthquake events and counts by location, time range, and magnitude, with automatic pagination support for large requests.
Sole developer
Landscape Density Plot
Web application for segmenting landscape photographs using Meta’s Segment Anything Model (SAM), generating x/y data for the function representing the segmentation, and rendering 1D kernel density estimation curves for each identified segment. Results can be downloaded for further inspection and visualization.
Sole developer
Cycling Safety Survey – Eau Claire
A crowdsourced cycling safety app for Eau Claire, WI. Cyclists place points on an interactive map to mark locations they perceive as unsafe and categorize contributing factors — infrastructure, traffic volume, traffic speed, visibility, and more. Survey responses are stored on AWS S3 and analyzed by the research team.
Lead developer — UWEC-funded research project
Cycling Safety Survey – Marburg
The same crowdsourced cycling safety survey framework applied to Marburg, Germany. Adapted to include additional behavior/demographic questions and safety factors localized for a German urban cycling context.
Lead developer — UWEC-funded research project
Cycling Safety Survey – Tampere
The cycling safety survey deployed for Tampere, Finland.
Lead developer — UWEC-funded research project
Fountain City Public Space Vision
A community-driven vision plan for public space in Fountain City, Wisconsin. Resident and youth input is synthesized into a set of guiding principles and a tiered slate of recommendations — from quick wins (trail connections, wayfinding signage, park naming) through intermediate and long-term strategies (multi-use trails, traffic calming, bluff trails, murals, and tree planting). Authored in R Markdown.
Project lead — 4th Coast Consulting

streetview R package
R package for embedding interactive Google Street View panoramas in R Markdown documents, Shiny applications, and Xaringan presentations using the htmlwidgets framework. Supply latitude/longitude coordinates and a Google Maps API key to render a fully interactive panorama widget.
Sole developer
Cellular Signal Strength
Shiny application for assessing cellular signal strength and estimating video call completion probability across Eau Claire and Dunn counties, WI.
Lead developer — UWEC/Mayo Clinic-funded research project

mapsurvey R package
R package for implementing place-based surveys — collecting geographic point data alongside traditional survey responses via an interactive map interface.
Lead developer — UWEC-funded research project

sfe R package
R package for spatial feature engineering — computing spatial features from geographic data for use in machine learning pipelines.
Lead developer — UWEC-funded research project
ispat
Interactive Shiny application for teaching point pattern analysis methods (quadrat analysis and nearest neighbor analysis). Used in teaching courses in geographic information systems and spatial analysis at the University of Wisconsin – Eau Claire and Oklahoma State University.
Sole developer

examgen R package
R package for generating randomized exam questions and response options. Designed to reduce academic dishonesty by producing unique question sets for each student while maintaining equivalent difficulty.
Sole developer









