Transforming Education: My GSoC 2024 Journey with Learning Equality
In this guest blog post, one of this year’s Google Summer of Code contributors, Divyansh Agarwal, shares his experience working on integrating a new content source, Bloom Library, into the Kolibri Library. Enjoy!

Introduction: Bridging the Education Gap
As my Google Summer of Code (GSoC) 2024 project with Learning Equality nears completion, I’m thrilled to share my experience working on a transformative project to enhance educational access. This summer, my journey involved integrating Bloom Library’s interactive and multilingual books into Kolibri, a platform dedicated to delivering quality education offline.
Project Overview: Revolutionizing Educational Resources
My project had several ambitious goals:
- Seamless Integration of Bloom Library Resources: Bringing Bloom’s interactive books into Kolibri.
- Innovative Viewer Plugin Development: Crafting a plugin to view BloomPub formatted resources.
- Streamlined Resource Uploads: Facilitating the upload of BloomPub files in Kolibri Studio and through ricecooker.
- Automated Content Integration: Implementing OPDS feed support for automatic content updates.
My Role: From Vision to Reality
As the full-stack developer, my role involved a range of tasks:
- Uploading Bloom Format Files: Developed functionality for Kolibri Studio to upload Bloom format files, allowing educators to integrate these resources seamlessly. (https://github.com/learningequality/studio/pull/459)
- Rendering BloomPub Files: Created a viewer plugin to render BloomPub files in Kolibri using the Bloom Player. This task was particularly challenging due to Bloom Player’s limited APIs and customization options. With the guidance of my mentors, we managed to overcome these hurdles. (https://github.com/learningequality/kolibri/pull/12586)
- Automating Uploads: Developed a script in ricecooker to automate the upload of Bloom Library’s books using the OPDS client. This script streamlined the process and made it efficient to integrate a vast number of resources. (https://github.com/learningequality/ricecooker/pull/517)
Technical Insights: Navigating the Tech Landscape
Throughout the project, I worked with a diverse tech stack:
- Backend: Django and Python
- Frontend: Vue.js and JavaScript
- Build Tools: TypeScript and Webpack
- Integration: APIs for various functionalities
The project presented challenges such as working across multiple repositories and learning Webpack. The integration of Bloom Player was particularly complex due to its limited customization options. However, modifying the open-source code allowed us to achieve the necessary functionality. (https://github.com/learningequality/bloom-player/pull/1)
Learning Experience: Growth and Discovery
This GSoC experience was a significant learning opportunity:
- New Technologies: Acquired skills in Webpack and Vue.js.
- Improved Skills: Enhanced proficiency in JavaScript, Python, and Django.
- Open-Source Culture: Gained insights into collaborative software development and community engagement.
Team and Mentorship: Support and Guidance
Working with mentors Richard Tibbles and José L. Redrejo was a major highlight of my GSoC experience. Their active involvement and helpful feedback were crucial to overcoming challenges and making the project successful. Richard and José’s deep knowledge of Kolibri’s system and how to integrate it was very important. They gave clear and useful advice during code reviews and were always ready to help with problems. Their guidance helped me improve my technical skills and showed me how our work affects education worldwide. Their experience with open-source technologies and problem-solving was extremely valuable. They were great at explaining complex issues and finding practical solutions.
Impact: Making a Difference
The integration of Bloom Library’s resources into Kolibri has a profound impact:
- Enhanced Accessibility: Expands access to quality education in underserved areas.
- Improved Engagement: Makes learning more interactive and engaging.
- Future Developments: Set the stage for further enhancements, including extending resource types and automating updates.
Future Plans: Continuing the Journey
I’m excited to continue contributing to Learning Equality and the open-source community. Future plans include improving the Bloom Player, extending resource types, and enhancing automated content updates.
Advice for Future Participants: Embrace the Challenge
To future GSoC participants, my advice is to stay enthusiastic and open to learning. Embrace challenges as opportunities to grow and engage actively with your team. This will enrich your experience and maximize the impact of your contributions.
Conclusion: A Journey of Impact
My GSoC 2024 journey with Learning Equality has been both challenging and rewarding. Contributing to a project to bridge educational gaps and make a meaningful difference in learners’ lives has been an honor.
I tackled complex technical challenges throughout the project and gained new skills, including working with Webpack and Vue.js. Collaborating with mentors Richard Tibbles and José L. Redrejo was a highlight, as their guidance was crucial in overcoming obstacles and achieving our goals.
I’m excited to continue contributing to Learning Equality and the open-source community, building on this project’s success and driving further innovations in education.