Post

GSoC 2026 - Project Timeline

GSoC 2026 - Project Timeline

This post outlines the timeline for my GSoC 2026 project - Dashboard for tracking MD simulation progress with the new streaming interface. This timeline has been re-organized slightly from the one in the proposal based on discussions in the inital project meetup during the community bonding period. The first priority is to focus on the core functionality and get something working within the first 4-6 weeks and consider extensibility a later priority.

(The timeline below references the dashboard UI as would be implemented by the reference wireframes discussed in MDAnalysis/mdadash#1)

Here is a detailed breakup of the timeline:

May 25 - June 7: (Week 1 and 2)

Milestone: At the end of this, we should be able to clone the mdadash repo, build the project and run the dashboard server (preferably install using pip or mamba instead of cloning and running from source). The dashboard should show the time and energy details and allow control of the live simulation - pause / resume / connect / disconnect. All the universe related config should be available in the Settings page and functional.

  • Setup the project using MDAnalysis cookiecutter
  • Server side
    • Basic server with an integrated async jupyter kernel
    • Universe setup based on command line params and setttings from UI
    • Core trajectory iteration loop, control and pushing values to UI
  • Frontend
    • Build setup using Vite for Vue.js (and Vuetify)
    • Main app bar functionality (pause / resume / connect / disconnect)
    • Sticky bar to show live timestep details
    • Status info and Energy cards on the dashboard page
    • Settings page for universe related config
  • socket.io setup between server side and frontend for bi-directional communication
  • Explore if there are any hurdles to producing a pip / mamba installable package

June 8 - June 21: (Week 3 and 4)

Milestone: At the end of this, we should be able to add a few basic analysis widgets to the dashboard that update live. These would include plots of different energies and a few simple ones like distance between COMs, radii of gyration, etc. Only serial execution of widgets will be available at this point. The basic lifecycle of widgets - add / update (handling input changes) / run / delete should be functional.

  • Server side
  • Frontend
    • Add, update, duplicate and delete widgets support
    • Re-organizable widgets grid layout
    • Vitest setup, basic Vue model tests
  • Get started with CI

June 22 - July 5: (Week 5 and 6)

Milestone: At the end of this, we should be able to support widgets that use batching and parallelization in their analysis code as well. Support for displaying alerts will also be available. Persistence of dashboard and support for basic import / export should be available. All the core functionality as captured in the wireframes workflow should be functional.

  • Server side
    • Complete widgets execution layer - batching, parallelization, etc
    • Persistence of dashboard state and basic import / export
  • Frontend
    • Display of most recent alerts through app bar
    • Alerts page to display all
    • Import / Export of dashboard through the UI
  • Continue to update tests

July 10: MIDTERM EVALUATION

July 6 - July 19: (Week 7 and 8)

Milestone: At the end of this, users should be able to write custom analyses widgets from the dashboard UI.

  • Frontend
    • Support for user-defined analyses through dashboard UI
      • Notebook-like interface
  • Server side
    • Support for handling notebooks and persisting them
    • Executing configured notebooks on launch to setup custom Widget classes
  • More tests

July 20 - Aug 2: (Week 9 and 10)

Milestone: By the beginning of this, we should have a tutorial ready. During week 10, we should have a mini workshop with demo, docs and tutorials for others to try this out and provide early feedback that can be incorporated.

  • Create docs and initial tutorial by the start of Week 9
  • Explore integration with MolecularNodes
    • Fix known issues in MN with streamed trajectories in API mode (frame jumping)
    • GUI mode - design, implementation and integration
  • Mini virtual workshop with demo to allow group members to try it out and provide feedback during Week 10

Aug 3 - Aug 16: (Week 11 and 12)

  • Fix any remaining bugs / outstanding issues
  • Complete tests and documentation
  • Any additional CI updates
  • Complete any additional build and packaging needed for PyPI and conda-forge (official)

Aug 17 - Aug 24: Final week (post official coding period)

  • Tie up any loose ends
  • Work on the final work submission report

Aug 24: FINAL WORK SUBMISSION

This post is licensed under CC BY 4.0 by the author.