Skip to content

2024 GSoC Project List

Andrew edited this page Feb 9, 2024 · 8 revisions

The two themes of our 2024 project ideas are Panel Chat and hvPlot Explorer. Panel Chat includes a powerful new component for interacting with LLMs. hvPlot Explorer is a Graphical User Interface that allows you to easily generate customized plots and explore your data.

Project Ideas:

1. Chat-With-HoloViz LLM Application

  • skills required: Python
  • Mentor: Andrew Huang (Discord: @ahnaconda)
  • Expected Size: 350h
  • Level of Difficulty: Medium-Hard
  • Expected Outcome: Build a complete intermediate-level HoloViz dashboard through natural language

This project involves creating a chat-with-HoloViz LLM app that utilizes system prompts / RAG / fine-tuning to help users use HoloViz effectively and also have the ability to run code and have it display on the side. An unpolished version of this idea: https://huggingface.co/spaces/ahuang11/panel-fleet and a blog post of this idea: https://sophiamyang.medium.com/build-a-rag-chatbot-to-answer-questions-about-python-libraries-5b82610d1745

2. Expose keyboard hotkeys for Panel apps

  • Skills required: Python
  • Mentor: Andrew Huang (Discord: @ahnaconda)
  • Expected Size: 175h
  • Level of Difficulty: Easy-Medium
  • Expected Outcome: Utilize the keyboard for adjusting Panel widgets

This project involves exposing keyboard shortcuts into Panel widgets so that using Panel apps can be interacted with in a more natural manner. The difficulty comes in when having to design around multiple contexts of use for Panel apps, such as web browsers, Jupyter Lab, and VS Code.

3. Panel for mobile

  • Skills required: Python, CSS
  • Mentor: Andrew Huang (Discord: @ahnaconda)
  • Expected Size: 175h or 350h
  • Level of Difficulty: Medium
  • Expected Outcome: The demo Panel applications should adapt from desktop to mobile.

This project involves improving the styling and UX of Panel components, including making them mobile-friendly so apps can be used more effectively on a small screen.

4. Explorer for hvPlot-supported data types

  • Skills required: Python
  • Mentor: Andrew Huang (Discord: @ahnaconda)
  • Expected Size: 350h
  • Level of Difficulty: Medium-Hard
  • Expected Outcome: Gallery of Explorer for all hvPlot-supported data types

This project involves making the hvPlot Explorer work with all the data types supported by hvPlot. This will help the Explorer become a more useful tool to explore data and all of hvPlot's API, while also integrating it better with the documentation. This process of supporting additional data types will also involve polishing the hvPlot explorer's UX - hvPlot should draw inspiration from similar components (e.g., Tableau, Excel, Superset) to guide its design and user experience.