“Only three months ago, I stood at the threshold of open-source development, a domain where tech wizards wield their coding wands to shape the digital world. Little did I know that this path would lead me to become a part of India’s first active open-source community of digital changemakers. Strap in, dear reader, as I take you on a rollercoaster ride through my journey with C4GT and my internship at Glific.”
They say, “The only way to do great work is to love what you do.” Well, my name is Aashi Jain, a tech enthusiast hailing from NIT Jalandhar, and I can proudly say that I fell in love with open-source development through the C4GT program. It all began when I embarked on my internship with Glific, a WhatsApp-based messaging system that was about to change my perspective on coding forever.
My adventure at Glific commenced on July 1st, and it lasted until August 31st. The technology stack was a blend of the familiar and the uncharted: PostgreSQL for the database, GraphQL for APIs, and Elixir as the mysterious backend language. Elixir, it turns out, wasn’t as elusive as I thought, thanks to the unwavering guidance of my mentors.
Before I spill the beans on my internship gig, let me give you the 411 on how I landed this adventure. It’s a quick one, I promise.
So there I was, casually scrolling through Unstop, minding my own business, when I came across a post about C4GT. Now, you might be wondering, “What on earth are DPGs?” Well, I was wondering the same thing. Digital Public Goods? Sounded a bit like tech jargon, but hey, curiosity got the best of me.
Without much thought, I decided to hop onto their Discord server. Let me tell you, it was like entering a virtual fairground with all sorts of organizations setting up shop. As I roamed around, I stumbled upon this intriguing one called Glific. It piqued my interest, and without a second thought, I decided to jump in and start contributing. Yep, it was that simple. Then what started was an array of daily meetings where we discussed and brainstormed Elixir problems together.
Picture this: my initial steps were akin to learning the notes of a musical scale before composing a symphony. As the days rolled on, my confidence grew, and I found myself achieving remarkable milestones:
- Simplified Documentation: I embarked on a journey of documentation enhancements, rewriting and updating the README to make the project setup process a breeze for newcomers, ensuring that our project was more accessible to beginners.
- Enhanced Template Flexibility: I added a new flag to templates, allowing for greater customization by introducing the ability to change template categories. This tweak provided more flexibility and control over the project’s design.
- Efficient Data Handling: I created a powerful function called ‘export_collection,’ which could transform a collection of contacts into a handy string. This optimization streamlined data management, making it more efficient.
- Direct Data Transfer: Taking a leap in efficiency, I implemented a feature that allowed data to be sent directly from URLs to a Google Cloud Storage (GCS) bucket without the need for intermediate downloads. It was like taking a shortcut to productivity.
- Team-Oriented Emails: Recognizing the importance of teamwork, I worked on a feature to send emails to specific teams, such as finance, rather than sending them to a single email address within an organization. This improved communication and collaboration.
- Tailored Email Addresses: I responded to suggestions from the product team by adding the ability to use different email addresses for different teams, such as analytics and finance. This personalization improved communication within the organization.
- Sorted Flows: I tackled the challenge of sorting flows with precision. I implemented a sorting mechanism that organized flows on the platform based on their ‘last_changed_at’ timestamp, making it easier for users to find what they needed.
- Boosted Test Coverage: To ensure the project’s robustness, I wrote comprehensive test cases for critical components like tracker functionalities. This effort significantly increased our test coverage, enhancing the project’s stability.
- Streamlined Setup: Recognizing the importance of a hassle-free setup, I tried creating a Dockerfile. This Dockerfile made project setup a breeze, simplifying the process for all team members and contributors.
These milestones were not just about ticking off tasks; they were about making tangible improvements that brought us closer to our goals. Each step was a note in the symphony of progress, and together, they created a harmonious and efficient project environment.
But here’s the twist in the tale: my internship wasn’t confined to virtual interactions alone. I had the incredible opportunity to attend the Glific Sprint in Udaipur, where I met the team face-to-face. Collaborating in person was like adding color to a grayscale picture, and the Sprint also gave me a deeper understanding of how NGOs operate in the real world.
Before I wrap this up, I want to send a shoutout to my mentors, Lobo, Akhilesh, and Shamoon. Their support was like a constant tailwind that pushed me through this exhilarating journey.
In conclusion, my foray into open-source development through C4GT and Glific has been nothing short of a thrilling odyssey. As I look back on my journey, I can’t help but quote Steve Jobs: “Your work is going to fill a large part of your life, and the only way to be truly satisfied is to do what you believe is great work.” Open-source development is where I found my passion, and I encourage anyone standing at the crossroads to take the plunge—it’s an adventure waiting to be embraced, and the rewards are beyond measure.