Building for Social Good: Lessons Learned in the Women Who Code Hackathon for Social Good 2023

Building for Social Good: Lessons Learned in the Women Who Code Hackathon for Social Good 2023

Written by Rossella Ferrandino

Hackathon

In the tech industry, staying ahead often demands more than what your current job provides. Your workplace may have a set tech stack that you use daily, but personal projects might not be sufficient if you’re keen on exploring different languages or technologies. This is where hackathons play a crucial role. In addition to being coding challenges, they offer an opportunity to engage with peers who share similar interests, refine your teamwork skills, and actively contribute to all phases of project development.

With this in mind, I joined the Women Who Code Hackathon for Social Good 2023, a particularly inspiring event that asked participants to leverage their coding skills for social good. This mission strongly aligns with my values, as I aspire to use my skills for causes that are significant for both me and society. Having been a part of the Women Who Code community for over five years, I appreciate the supportive and encouraging atmosphere it fosters.

In this article, I want to share how joining this hackathon helped me grow as a developer. A candid disclaimer: our project didn’t crack the top 20, and we didn’t deploy a complete product by the deadline. Nevertheless, the lessons learned from this experience were profoundly valuable.

What We Built

My team built Freshtrack, a responsive web application that empowers households to reduce food waste significantly. FreshTrack goes beyond mere tracking; it equips users with personalized suggestions on optimal perishable item storage, fostering a culture of waste reduction. Users can effortlessly add products via barcode scanning, receiving real-time updates on freshness and expiration dates. Additionally, FreshTrack offers a guide on optimal storage techniques, including placement tips to keep food fresh longer. The technologies used were React native for the web and frontend, Django/Python and PostgreSQL for the backend, and Figma for the design.

Getting Started

When diving into a hackathon, the first decision is whether to fly solo or team up. Reflecting on the notion of using hackathons to venture beyond the confines of your daily tech routine, I seized the chance to embrace collaboration (a departure from my usual solo dev work). I had the idea for Freshtrack and mentioned it to a friend from another group, so we decided to work on it together. We then organized a sync-up session to discuss the project in more detail. Our initial meeting focused on outlining what we hoped to learn during the hackathon and the additional skill sets required. At the end of the session, we put together a project brief to share on the hackathon Slack channel and search for potential team members.

Quite a few people reached out as they were interested in the idea. Ultimately, we formed a team of five: two frontend, two full-stack developers, and one backend dev/UX designer. 

We were ready to start! 

Teamwork in a Global Landscape

In the dynamic realm of hackathons, the first lesson we learned is to navigate the intricacies of teamwork within a global team. Collaborating with people scattered across time zones, we faced the challenges of asynchronous communication and varying work schedules. 

One tool that was super helpful in aligning our schedules was When2meet. All team members input their availability, allowing us to find the perfect time to organize a kickoff call (using another free tool, Google Meet).

After the initial video call, where we introduced ourselves and discussed the practical aspects of collaboration, including the technologies to use for building the project, we set up a Figma project, a Trello board, and a GitHub repository. These platforms facilitated coordination on different tasks as we worked asynchronously.

The most significant lesson for me while working with the team was balancing involving everyone in the decision-making process and keeping the project moving. Regular check-ins with all parties involved and sync-ups between smaller portions of the group working on related tasks were crucial. For instance, as frontend developers, we had regular check-ins during the weekdays; they were extremely valuable when we encountered roadblocks or to avoid duplicating efforts while another team member was unavailable. 

As the days passed by, unexpected hurdles emerged, requiring a dose of empathy and understanding. One team member couldn’t contribute for a stretch because of health issues. In moments like these, empathy became a critical thread in the fabric of our collaboration. Understanding that unforeseen circumstances could impact any one of us, we rallied together to accommodate the situation. This experience strengthened our bonds and emphasized the human side of collaboration, reminding us that every team member is navigating their unique journey. 

Navigating Challenges: The Importance of Adaptability

The journey from project inception to near completion was an enlightening rollercoaster. Stepping into the shoes of the project manager in our team, even if just for a little while, provided a newfound appreciation for what this professional figure does. Balancing the ambition of crafting a comprehensive product with the realities of time constraints and the diverse availability of team members demanded precision and adaptability.

To build a Minimum Viable Product (MVP), we honed our ability to distill expansive ideas into essential components. It wasn’t just about what the product could be; it was about what it needed to be by the end of the hackathon. This process required careful consideration of our team’s capabilities, the deadline, and the ever-shifting puzzle of priorities. 

As the project progressed, we encountered roadblocks – from bugs to unexpected personal events. These challenges demanded a constant reassessment of priorities. Adapting to unforeseen circumstances was essential, as was communication between the team members to clearly understand how the project was progressing. We got used to making a “status report” at the end of the day, outlining what we worked on and if we encountered any blockers, and updating Trello with what was in progress, outstanding, or completed.

We learned that reevaluating, reprioritizing, and staying adaptable were the secret weapons in our arsenal.

Learning and Growing as a Professional

Adaptability and problem solving were certainly two skills we practiced, but not the only ones. By participating in the hackathon, I experienced a very steep learning curve by being exposed to different technologies and ways of working. Each team member had a different skill set, and we learned how to collaborate and add value to each other by sharing our knowledge.

For example, I put together the user stories for our personas to map all the users’ interactions with Freshtrack so that the UX designer could work on the wireframes. Starting from these user stories, the most experienced backend developer planned the database structure, using Figma to represent the data schema and involving the team to ensure this was scalable and suitable for the final product.

In addition to bringing our professional expertise to the team, I recommend making a “wishlist” of the skills they want to practice with the project. This allowed us to challenge ourselves and work towards our professional goals. For example, in our team, someone wanted to write tests, work on native mobile interactions, implement localization, or connect the front end with the back end, and we all got the chance to do that (some of these post-MVP).

Positively surprised, towards the end of the hackathon, everybody was helping out, even with technologies they did not know well, asking questions to more expert team members and contributing to delivering the MVP. All team members were very encouraging with each other and appreciative of the effort we were all bringing to the project.

In conclusion, this hackathon journey wasn’t just about coding but about embracing challenges, learning from setbacks, and fostering a collaborative spirit that transcends geographical boundaries. It was a testament to the power of adaptability, empathy, and continuous learning in the dynamic world of technology. As we move forward, these lessons will undoubtedly shape our approach to future projects and our professional growth.