Hello!
Academic research aims to push the boundaries and develop advanced skills at the forefront of scientific knowledge. As a doctoral candidate, one is expected to conduct original research within a specialized topic and be aware of the latest progress within the field through continued learning. On this note, I have often been amazed at how interdisciplinary insights can offer unique opportunities to address challenges in one topic based on such novel perspectives.
Recently, I have come across a Python package named Solara to develop user interfaces and applications in a practical and reusable way, and part of my research project could benefit from using similar tools to improve the usability of the software I am developing. Coincidentally, the developers of Solara recently organized a virtual hackathon with the dual goals of stimulating wider adoption of the package and showcasing innovative applications. Through a collaboration with Ploomber, a company that had organized a similar event months before, this hackathon aimed to enable users to develop an application in Solara and deploy it online using Ploomber. I decided to participate, and in this post, I would like to share my experience with this event.
1. Remote development as a team
2. Office hours and code reviews
Remote development as a team
First, the organizers created teams based on individual interests and assigned each group a unique project. In our case, we were tasked with developing a sports video analysis tool. Given the limited time frame of the hackathon, alongside everyone having full-time jobs, we decided the best approach was creating a minimum viable product focused on experimenting with Solara’s features rather than providing an extensively polished output. Initially, we agreed that many deep learning models are readily available to process videos and produce relevant outputs for video analysis, which we could initially incorporate into our app. Specifically, we used YOLOv8 to detect, segment, or track features in videos and displayed the results to users via figures, within a video player, and through plots. Using Solara components, we concentrated on enabling custom video uploads, selecting videos from a default database, and integrating different versions of YOLOv8 for multiple types of analysis, and producing relevant outputs accordingly.
While the assembly of teams was unknown to the participants, I found it very beneficial to bring together individuals with varying skills, ranging from dev ops that established the deployment environment on the backend to those with more interest in app development focusing on the interface for the frontend, to people knowledgeable about deep learning implementing models. As this was my first time working remotely in a team on a programming project, especially with teammates I didn’t previously know, this event was also a great experience to learn how to communicate over the organizer-created Discord channel and share progress in our GitHub repository. I felt this provided a valuable opportunity to identify what each person was most excited to experiment with and enable each member to contribute new ideas that built upon one another’s progress. On this note, I could learn considerably about app development using Docker.
Office hours and code reviews
In addition, the hackathon presented a genuinely fascinating opportunity to meet and learn from the creators of Solara directly. During the public office hours sessions, the developers were available to provide guidance on best practices for implementing certain features within our project and answer any questions. Participants could also tune in while other teams were discussing their projects and learn about additional topics they were exploring, and the unique challenges others were facing in their work.
Personally, using Solara for my own PhD research was something I intended to experiment with before the start of the hackathon. Therefore, I felt that such a team-based mini-project would be a more manageable starting point, especially as it was time-constrained and developed in a collaborative environment. Given that our project required incorporating deep learning models and displaying several images in an interface, I am confident I can continue leveraging what I learned at the hackathon when developing tools with Solara for my research. Additionally, many users remained active on Discord after the event, which should allow discussing future challenges participants face in their projects. More broadly, this hackathon provided an excellent learning environment for cultivating technical abilities and valuable networking connections across disciplines.
Final wrap-up and showcase
The hackathon concluded with a final virtual meeting where all teams presented their work, and it was absolutely fantastic to witness what each team achieved in such a short time. Projects were highly diverse, from compiling financial information to sports video analysis and travel planning tools. As all projects were developed on public repositories, we can always return to the implementations to adapt to our use cases, if needed. In addition, the organizers mentioned that they also plan to use our projects to highlight specific features of Solara on their website, which can hopefully support future users starting their applications from scratch. While a primary goal of the event was aimed at gathering users and creating several examples of applications using Solara, I felt that the organizers also put considerable effort into collecting feedback from us about the package itself and what features we would be especially interested in having available for future projects. Overall, I believe this also reflects a growth perspective to accomodate the user experience and focus on components that have shown clear interest by the community.
Conclusion
In conclusion, this hackathon’s collaborative and transparent nature created an exciting environment in which to learn about Solara and develop new skills while fostering ongoing knowledge exchange between participants. By working in multidisciplinary teams, this event also emphasized how diverse skill sets can reach impressive outcomes by creatively solving project challenges together.
Please feel free to share your experiences from previous hackathons!
Have a great day!
Acknowledgements
Image generated with LimeWire.