DuckDuckGrow App
Custom build web-app for large scale duckweed assay as part of an international collaboration.
Tony approached me with the idea of writing data processing scripts for a grant he had recently won. In conversation it became apperant that a web app would be more suitable to coordinate sample-randomization across different institutes.
The challange was to deliver an easy to use app that functions as a reliable source of truth. The most influential design descision was to keep most of the data immutable.
I was able to deliver the app in a month, weeks before the project was scheduled to start.
Client
Prof. Anthony Bishopp
The University of Nottingham
Goals
Facilitate Collaboration
Automate Experimental Design
Requirements
Robustness
Development Speed
Intuitive Interface
The Challenge:
Large scale environmentxgenotype assays that are run as collaborations between multiple institutes face multiple challenges. I was approached by Tony when he just received his funding. He was looking for two solutions:
- A web-app to facilitate randomization and to assist in coordination between institutes.
- A script to collate the result data of the assays.
Next to following best scientific practices, the web-app would have to:
- Have robust data, meaning resistance to any accidental change or duplication of records.
- Utilize well chosen IDs that would be helpful in the subsequent analysis of the data
- Be intuitive to use, requiring to documentation or on-boarding
Most importantly both solutions (plus the DuckDuckGrow-Board) had to be developed quickly within the two months before the PostDocs and Technician were due to start
I contracted Lukas to develop a bespoke software-based solution for a BBSRC-funded project looking at a large genome x environment screen. As the project evolved, its scope expanded significantly and ultimately integrated novel hardware, in the form of an LED guided pipetting board. Throughout this process, Lukas was exceptional to work with. He has experience working as a PhD student in a bioscience lab, and this enabled him to bridge the technical side of this project with an understanding for how it would work in a lab environment. The final solution was the result of a highly effective collaboration that combined both mine and Lukas's vision, with Lukas driving all of the technical aspects. Communication was clear at all stages, and the project delivered in a timely manner. Overall, the experience was excellent, and I would highly recommend Lukas for scientific software projects.Anthony Bishopp, Professor at Nottingham University.
The Prototype:
An early prototype achieved multiple objectives.
- Tony and I were able to agree on the metaphors the app would use to reference the different concepts that made up an experiment. Well chosen names and a diagram would be key to an intuitive UI.
- The prototype gave Tony and be a framework to discuss how to achieve data robustness in the most economical way.
- Tony was able to confirm that the algorithm I had written prior to working on the project generated a experimental layout following best scientific practices
To make the data resistant to accidental change or duplication of records, while keeping development quick, we decided that:
- Most records should be immutable (not editable or deletable).
- Only the admin authorization level should be allowed to create of certain records.
- Certain fields should enforce a specific format
The Result:
Using Elixir and Phoenix I was able to deliver the App ahead of time. The app has performed reliable and researchers were able to use it with little or no instruction. Users appreciate the robustness of the app.