An Inside Look at Datopian's PortalJS Internal Hackathon #1!
Last Friday, a spirit of creativity and collaboration filled the virtual halls of Datopian as we embarked on an interesting journey: our internal PortalJS Hackathon. This event set the stage for our talented team to explore, innovate, and push boundaries, breathing life into the true ethos of Datopian.
The Catalyst of Improvement
Every impactful journey has a remarkable origin. Ours began with a user's keen eye and diligence. A bug report filed by one of the participants unveiled an opportunity for us to rethink and refine our testing approach.
The unexpected bug was happening on the PortalJS Learn example, which was being used by participants on one of the steps of the Hackathon: doing the PortalJS tutorial. After deploying the project built during the tutorial to Vercel, participants noticed that some data components imported from the PortalJS core package were not loading properly, although working fine on their local environments.
After some inspection we realized that some updates of the PortalJS core package, released in the previous days before the Hackathon, had broken the package solely on its integration into the Learn example and on production builds, and, the worse part, it was something that didn’t break our build pipeline (so that we could notice it immediately), nor was easily noticeable without redoing the tutorial project.
From the apparent extra effort of maintaining multiple example projects we want to extract a new strength: we are now studying the possibility of creating test cases based on our tutorials, hence making this scenario less likely to be repeated in the future. This would set the floor for a very rich testing environment, in which, after each release, multiple example projects that make use of the package, with their own specificities, would get tested, besides also reevaluating our tutorials.
During the Hackathon, users also flagged multiple points that could be improved on our docs. One of those that really got our attention was that the PortalJS Storybook wasn’t as intuitive to outsiders as it was to us. This realization was very insightful: being used to Storybook, we didn’t realize that, although very powerful, there are prerequisites to using Storybook and it’s a very delicate task to make the stories a clear documentation source for beginners. This instance reaffirmed our conviction that continuous improvement is a two-way street, one that invites valuable user feedback into our modern frontend development process.
A Showcase of Innovation
As the Hackathon unfolded, our participants broke ground on fresh projects, their fingers dancing on keyboards, their minds churning with ideas. They threw themselves wholeheartedly into the hackathon, crafting solutions using the PortalJS framework. Some teams tackled creating decoupled front-ends for CKAN, while others focused on building GitHub-backed data portals demonstrating the versatility of PortalJS in empowering modern frontend development for data portals. By the end of the intense 12-hour event, we had a variety of data portals, each presenting its unique interpretation of the given challenge, and, through the creative minds and different perspectives of the participants, highlighting opportunities for the use of PortalJS that we hadn’t realized before.
It's noteworthy to mention that we are currently in the midst of revamping PortalJS. As with any new iteration, we find ourselves at an exciting juncture where we are incorporating lessons learned from the previous versions from the ground up. Although not all features have been fully implemented yet, this simplicity fosters creativity and propels innovation, ensuring a more efficient and user-friendly future version of PortalJS.
To make things more interesting, participants had the same goal - to build a data portal - but were free to choose the data they wanted to showcase on it. The data portals born during this Hackathon range from showcasing statistical data about the UK, to climate change data, to gold prices along time.
See some of the outcomes below
[picture 1]
One participant chose to explore the realm of finance, curating an array of finance-related datasets into a comprehensive catalog. An eye-catching hero section drew users into the data portal, setting the tone for the in-depth exploration that lay ahead.
[picture 2]
As an extension to the core challenge, there was a bonus task that invited participants to weave a data-driven narrative. In response, one participant extracted and compared historical oil prices in the European and American markets, ingeniously turning data into a captivating tale.
[picture 3]
Another participant turned their focus towards one of the most significant challenges of our time - climate change. The portal was abounding with rich, relevant climate change data, with an emphasis on its global impacts.
[picture 4]
A striking chart was constructed, effectively comparing emissions by country over time, providing a clear visual representation of a complex issue.
Observations and Insights
The hackathon wasn't merely a test of our technical skills; it was a crucible for observation and learning. One key insight was how effortlessly our backend developers navigated the PortalJS frontend framework. This ease of use emphasized the accessibility of PortalJS, suggesting its appeal to a diverse range of users. This observation accentuates the usability and flexibility of PortalJS, suggesting its potential to cater to a broad spectrum of users, ultimately enhancing collaborative potential within development teams.
Wrapping Up to Step Forward
At Datopian, we believe that internal hackathons like this one are more than just a fun, team-building exercise. They're a potent catalyst for innovation, driving improvements in our systems, fostering better collaboration among our teams, and, importantly, reinforcing our commitment to continually enhancing the user experience.
As we wrap up our PortalJS Hackathon, we carry forward a wealth of insights and improvements. But, perhaps most importantly, we reiterate our promise to continually enhance PortalJS, harnessing the power of modern frontend development to create intuitive, user-friendly data portals. We're excited about the many possibilities that lie ahead. And with the insights we've gained, we're better equipped than ever to continue providing our users with world-class solutions.
Susan Botha, Project Owner