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. 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

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

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)

  • 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)

  • Explore integration with MolecularNodes
    • Fix known issues in MN with streamed trajectories in API mode (frame jumping)
    • GUI mode - design, implementation and integration

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

  • Fix any remaining bugs / outstanding issues
  • Complete tests and documentation
  • CI support
  • Build and packaging needed for PyPI and conda-forge

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.