shiny_DiveR - Shiny Contest Submission


Authors: Jaunatre Maxime

Abstract: With this application, you can simulate scuba-diving depth/time curve according to a desaturation model (french MN90 tables). You can manipulate depth and time and observe what desaturation process you need to observe at the end of the dive.

One a second time, you can use sliders to input a gas tank for breathing underwater. The graph then display the pressure inside you tank at any time. This allows to see if you can make it to the surface safely.

This application is designed to help scuba-diving instructors show theory to students and help students check exercices.

Full Description:


This project to code scuba-diving process was originally to learn more about the models behind desaturation and have a small tool for my usage (while having a big project for my R skills). I coded the DiveR package to solve this. This was also based on the fact that I learn a lot of theory by drawing graphs and I wanted the code to do it for me !

However after talking with diver friends, they wanted to use it, and more specifically in the Grenoble Alpes University, where we teach students to dive. Events and distance learning made it even more important to teach desaturation theory online to our students.

Application framework

This application was built on the DiveR parckage to render the code accessible to non-R users. I learned shiny to do this and using the golem framework I was capable to code this as a package. This will we be usefull since I'm currently working with dive instructors to add plenty of other models and we have so many ideas, from comparaison between desaturation models to showing dive accident and methods to learn how to dive safely.


To this day you can't input a dive from a data.frame of depth and time, so only "square" profiles are available. These models are really simple and I want to implement a way to "draw" the dive on the plot so the models become really close to how a diver move in depth along time.

In the end I could say it was a perfect project to learn code and I now have so many things left to do ! I bet this project will bring together my scuba-diving and code skills as long as I'll learn in both fields.

Keywords: education, scuba-diving, sport
Shiny app:
Repo: GitHub - gowachin/shinyDiveR: R package for a shiny application about scuba diving planification
RStudio Cloud: Posit Cloud


Full image:

1 Like