Resource List
Ideas, links, tools, etc. for long-term access to research dashboards
Useful tools
This page contains a list of hopefully useful tools grouped together under the following headings:
- Build to last
- Sustainable software development practices
- Using the FAIR approach
- Leveraging version control, environments, and containerisation
- Build together
- Collaboration, documentation, and community
- Software stewardship
- Building cheaply
- Choosing affordable options from day one
- Minimizing costs where possible
- Think outside the box
- Creative solutions
- DIY approaches
Use the contents to the right or search with Ctrl + f for different topics.
1. Build to last
Take approaches used generally in sustainable research software development to make projects more robust.
Version Control Systems, git
- Records all changes to the project, time stamped, with a unique identifier
- A record of who changed what, and when
- Makes the build process open to allow for replication and reproduction of the work
- Allows people to “reverse engineer” the work
- More powerful when in a public repository, like on GitHub
Resources
GitHub
The resources listed below are free at time of writing, with usage limits.
- Public repository with git version control, for long-term accessibility
- Automated CI/CD workflows via GitHub Actions for testing, building, and deploying dashboards - can automatically update data, run tests, and deploy to hosting platforms
- Free static website hosting directly from repositories - ideal for hosting documentation, simple dashboards, or project websites
- Cloud-based development environments (via Codespaces) that allow contributors to work on projects without local setup, lowering barriers to collaboration
- Release tagging: integrations with Zenodo for minting DOIs against releases
Resources
Dependency management
- Lock specific versions of packages and dependencies to ensure dashboards work consistently across different machines and time periods
- Create isolated environments to prevent conflicts between different projects
- Modern tools support Windows, macOS, and Linux, making collaboration easier across diverse teams
- Tools like pixi provide fast environment setup, reducing barriers for new contributors
- Automatic resolution of complex dependency trees prevents version conflicts that could break dashboards over time
- Share exact environment specifications through small configuration files rather than large binary packages
- Tools like miniforge prioritize packages commonly used in research and data science workflows
Resources
Containerisation
- Package entire dashboard applications with all dependencies into portable containers that run consistently across different systems
- Isolate dashboards from host system changes, protecting against software updates that might break functionality
- Enable easy deployment to cloud platforms, university servers, or personal computers without complex setup procedures
- Preserve exact runtime environments for long-term reproducibility - containers can be archived and run years later
- Support automated deployment pipelines that can rebuild and redeploy dashboards from source code
Resources
Dev Containers
- Define complete development environments as code using Docker containers with pre-configured tools, extensions, and dependencies
- Enable instant collaboration by allowing anyone to open your dashboard project in a fully configured environment via GitHub Codespaces
- Ensure consistent development experience across different operating systems and machines, eliminating “works on my machine” problems
- Automatically install required VS Code extensions, language servers, and debugging tools when contributors open the project
- Support both local development (with Docker Desktop) and cloud-based development (with GitHub Codespaces) using the same configuration
- Reduce onboarding time for new contributors from hours to minutes by providing ready-to-use development environments
- Allow testing and development of dashboards without installing software locally, particularly useful for workshops and teaching
Resources
Example Dev Container app
See this example Dev Container with a Dash app
- Very basic/minimal set up to show how you can let users build the app themselves/serve it in the cloud
Releases and DOI minting
- Create tagged releases at key project milestones to capture stable snapshots of your dashboard code and documentation
- Mint Digital Object Identifiers (DOIs) through Zenodo integration to create permanent, citable references to specific versions
- Ensure long-term preservation through Zenodo’s commitment to maintain archived software beyond individual project lifecycles
- Enable reproducible research by allowing others to cite and access exact versions of dashboards used in publications
- Automatically trigger DOI creation when GitHub releases are published, reducing manual administrative overhead
- Include release notes that document significant changes, bug fixes, and compatibility requirements for each version
- Archive not just source code but also documentation, example data, and configuration files needed for reproduction
Resources
2. Build together
Documentation
- Create comprehensive README files that explain what the dashboard does, how to install it, and how to use it
- Provide instructions on using containers/Code Spaces
- Document code with clear comments and docstrings so future maintainers can understand the logic
- Provide step-by-step setup instructions that work for users with different technical backgrounds
- Include examples and screenshots to help users understand expected outputs and functionality
- Maintain changelogs and release notes to help users track updates and breaking changes over time
- Document data sources, update frequencies, and any manual processes required to keep dashboards current
- Create contributor guides to help new team members understand development workflows and standards
Resources
Licensing
- Choose open source licenses that allow others to use, modify, and distribute your dashboard code freely
- Ensure license compatibility when using third-party libraries and datasets in your project
- Include clear license files in your repository to establish legal permissions for long-term use
- Consider data licensing separately from code licensing, especially for research datasets with different restrictions
- Use permissive licenses like MIT or Apache 2.0 to maximise accessibility and adoption by other researchers
- Document any trademark or attribution requirements for logos, branding, or institutional acknowledgements
- Understand institutional policies around intellectual property and open source software release
Resources
Community management
- Use GitHub Issues to track bugs, feature requests, and general discussions about dashboard improvements
- Create issue templates that guide users to provide helpful information when reporting problems or suggesting features
- Set up GitHub Discussions for broader conversations about dashboard usage, best practices, and community questions
- Establish clear communication channels (mailing lists, Slack, Discord) where community members can ask for help and share experiences
- Recognise contributors through acknowledgements in documentation, contributor lists, and release notes
- Create governance documents that outline decision-making processes and community standards
- Host regular community calls or meetings to discuss roadmap priorities and gather feedback
- Be aware of recorded gender-based hostility and uninclusive environment in OS
- Gender differences and bias in open source: pull request acceptance of women versus men (Terrell et al., 2017)
- Our results show that women’s pull requests tend to be accepted more often than men’s, yet women’s acceptance rates are higher only when they are not identifiable as women. In the context of existing theories of gender in the workplace, plausible explanations include the presence of gender bias in open source, survivorship and self-selection bias, and women being held to higher performance standards.
- Discrimination, misogyny and harassment: Examples from OSS: content analysis of women-focused online discussion forums (Singh & Brandon, 2022)
- Open Source Software (OSS) communities are notorious for discrimination and hostility towards women and currently, only 2–3 percent of OSS developers are women.
- Gender differences and bias in open source: pull request acceptance of women versus men (Terrell et al., 2017)
Resources
Code review and collaboration
- Implement pull request workflows that require code review before changes are merged to maintain quality
- Use branch protection rules to prevent direct commits to main branches and ensure all changes go through review
- Set up automated checks (linting, testing, security scans) that run on every pull request
- Create clear contribution guidelines that explain coding standards, testing requirements, and review processes
- Use draft pull requests for early feedback on work-in-progress features and major changes
- Encourage pair programming and collaborative development sessions to share knowledge across the team
- Maintain a welcoming tone in code reviews that focuses on improving code rather than criticising contributors
Resources
Onboarding and mentorship
- Create “good first issue” labels to help new contributors find approachable tasks to start with
- Develop step-by-step onboarding guides that walk newcomers through setting up development environments
- Pair experienced contributors with newcomers as mentors for their first few contributions
- Host coding workshops, hackathons, or sprint events to bring community members together
- Record video tutorials showing how to contribute to different parts of the dashboard project
- Maintain up-to-date contributor documentation that explains project structure and development workflows
- Celebrate first-time contributors publicly to encourage continued participation
Resources
Sustainability planning
- Develop succession plans that identify key roles and knowledge areas that need continuity
- Create detailed handover documentation for critical maintenance tasks and decision-making processes
- Establish funding strategies for long-term hosting, domain names, and infrastructure costs
- Build relationships with institutional partners who can provide ongoing support or hosting
- Document dependencies on external services and create contingency plans if they become unavailable
- Train multiple community members in essential skills like deployment, data updates, and troubleshooting
- Consider transferring projects to established organisations or foundations for long-term stewardship
Resources
3. Build cheaply
Static Web Apps
- Do you need a server to support your webapp or can you build it as a static site, leveraging JavaScript etc.?
- Can go purely HTML, JS, etc.
- So many resources available
- Great libraries available: Leaflet.js, Observable
- Or can stick with R and Python via Quarto
Resources
Quarto
- An incredible, Open-Source tool
- Easy to use for Python and R users
- Create static pages that can be served via GitHub pages
- Can use various interactive plotting Python and R libraries
Resources
- Basic dashboards in Quarto: introducing simple ways to plot interactive maps and basic dashboards
- Quarto interactivity docs
4. Think outside the box
Python/R in the Browser
- Instead of setting up a server to run Python, can we make it run in the user’s browser?
- Quarto live is one option
- Integrated with Quarto, so again can be set up to run in GitHub pages
- Allows the users to interact with and see the code directly
- Great educational resource
- Voici: turn Jupyter notebooks into static web applications
Other interesting links/resources
- Marimo notebooks: Jupyter alternative
Publications
- Hoffenson, Steven, Cory Philippe, Zuting Chen, Christian Barrientos, Zhongyuan Yu, Brian Chell, and Mark Blackburn. 2023. “Graphical Features of Interactive Dashboards Have Little Influence on Engineering Students Performing a Design Task.” International Journal of Human-Computer Studies 180 (103121): 103121.
- Rossi, Fernanda S., Meredith C. B. Adams, Gregory Aarons, and Mark P. McGovern. 2025. “From Glitter to Gold: Recommendations for Effective Dashboards from Design through Sustainment.” Implementation Science: IS 20 (1): 16.
- Wu, Elwin, Jennifer Villani, Alissa Davis, Naleef Fareed, Daniel R. Harris, Timothy R. Huerta, Marc R. LaRochelle, Cortney C. Miller, and Emmanuel A. Oga. 2020. “Community Dashboards to Support Data-Informed Decision-Making in the HEALing Communities Study.” Drug and Alcohol Dependence 217 (108331): 108331.