Science Flask is a web-app template for online scientific research tools built with Python Flask, JavaScript and Bootstrap CSS. There are two main reasons for creating this template:

  1. Unfortunately there's quite a lot of horribly looking and barely functioning scientific tools online. The reason behind this is simple: we are scientists and not web-developers. Keeping up with the latest trends, learning CSS, HTML and modern web dev practices is simply not in our job description and certainly not in our salary or grant money. This, however leads to two things:
    • Many amazing projects simply are not made available online, as the authors didn't have time/know-how/energy/funding for doing that.
    • Many projects that do end up getting some form of online presence look hideous, hard to maintain, built on old web tech and are not very user-friendly.
  2. While building CorrMapper I realised that there's an incredible amount of overhead involved with creating a fully functioning website, with user management, file uploads, form validation, etc. You can learn Flask in about a weekend to a level that you can understand code examples and start hacking away. But it takes a long time to actually get a working website with all the features listed above.
Science Flask

Here's the simple idea behind Science Flask:
Notice how everything in blue is non-specific to any scientific app. So then why are we keep re-developing it? Ideally, scientists need not to work on anything else than the green bit. Then they can plug that into Science Flask with a few hours of work and have their tool online in a day or two, instead of weeks.

Hopefully, by open-sourcing Science Flask, the activation energy for turning an offline science project or research tool into a functioning web-app will be lowered significantly. Hopefully this will not only mean there'll be more science tools published, but also they'll look and feel nicer and will be easier to use.

It would be great to build a small community around Science Flask, so contributors are very welcome! For more info, documentation and source code please visit the Github page of the project.