How My Team WON at Code For Good 2022

How My Team WON at Code For Good 2022

An entirely different day full of joy and utter disbelief started at 4:35 PM on 12th June 2022 as our team was announced as the Winners at the Code For Good Hackathon organized by JP Morgan Chase and Co. as a part of their recruitment program.

About The Event


CodeForGood is a social-good hackathon organized by JP Morgan Chase and Co. every year to provide technical solutions to Social-Good Organizations (further referred to as SGOs) for their problems.

The participants of this event (at least for India) are Second and Third Year Engineering Students who're in the process of recruitment for a Full-Time Role or a 6-month Internship at the company. These are students from Engineering Colleges across the country who have qualified from the Coding and Video-Interview Rounds.

The participants are shuffled across different teams of up to 8 people as they proceed to find their problem statements and start working on them. All teams are also provided mentors who can guide them through different aspects of working on a solution.

The Event Timeline


June 09 | Team and Mentor Huddle

This is basically where you communicate with your team, get to know your strengths and have your first discussion with your team mentor(s). Having a good understanding of your team dynamics helps you choose the different technologies you'll be able to work with along with the roles that will be given to individuals.

June 11 | Day 1 of the Hackathon

This is when we were provided with our problem statements and we started working on them. Representatives of these Social-Good Organizations explain their problems via video and also are available for contact during an office-hours session.

June 12 | Day 2

It's expected that your product is complete and ready to submit by 9 AM on this day. The GitHub Repositories freeze by 9 AM and a video explaining the solution needs to be submitted by 11 AM.

Further, there were technical and final judging rounds where the solutions were presented and we answer questions regarding our product. Lastly, there was a closing ceremony to announce the results at 4 PM.

Our Problem Statement

We were provided 5 problem statements (by 5 different SGOs) and we were supposed to submit a priority list, out of which, based on availability, we were assigned a problem statement.

Our problem statement was from CGAP (Center for Gender and Politics), an SGO that functions in South Asia to empower Women in Politics as they share their stories across the globe trying to inspire the young generation of women to be aware and get involved in politics in the future.

Our Solution


We were initially a team of 8 people, but due to circumstances, we were left with only 4 people, which meant we had significantly higher individual responsibilities. We started by brainstorming with our mentors and discussing what are the ideas that could be the most helpful for the SGO.

Here's how we could work towards a complete solution.

Identifying the Problems

Based on the video shared by CGAP and our discussions during Office Hours, we identified that there were 3 major problems they were trying to solve:

  • Finding Stories from different regions

  • Storing Data in a Centralized Location

  • Improving the reach of their Blog, making it more interactive

Our Tech Stack

  • Python (Automation of Stories Collection using Web Scraping)

  • Next.js (Blog Frontend)

  • Strapi (CMS Backend with Admin Panel)

Starting to Code


We started coding post-lunch. We assigned roles to people and then started working on our tasks. Our mentors checked in every few hours ensuring that we were saving our progress by pushing our code to GitHub.

We leveraged a third-party chatbot that could be used as a process to hire volunteers for the organization.

We worked on a Markdown-based Blog that fetched markdown from the Strapi Backend which also provides a UI for publishing these blogs along with a markdown editor. We also created pages for sharing information related to individual Volunteers and Women Leaders so that people could get to know them better. Having Markdown-based blogs ensured we had better SEO, also credit to Next.js, the framework we were using. We had tags stored in the database which were dynamically used as meta-tag keywords for every blog.

Alongside this solution, we also worked on a Python script that used the Guardian API to collect stories related to women's empowerment and their involvement in politics using Web Scraping.

Making our Submissions

After pulling off an all-nighter, we had our code integrated and ready on one branch by 7:30 AM, ready to be submitted. We also updated our Readme file to provide a summary of what we had done.

While we were coding, we also worked on a small Canva presentation that we could use during the judging rounds.

We recorded a video showing this presentation and then the demonstration of our work and we submitted it on their website by 11 AM. The video has to be under 7 minutes.

The Judging Rounds

Technical Judging

We had our Technical Judging Round at around noon, where we played this video (that we previously submitted). You can also demonstrate your work live. Once the video was played, the judges asked us questions about our solution and our approach, the technologies that were used, etc.

We had a fairly positive response to our presentation. Our problem statement was assigned to 9 teams in total and 2 teams were supposed to progress to the Final Judging Round.

In about half an hour, it was announced that we made it to the Final Round! It was a huge boost in our confidence, all of us along with our mentors were happy that we made it here. Our mentor then shared an inspiring pep talk where he talked about what we had done so far and what we had achieved from it. We were confident we could win this!

Final Judging


This was the big turnaround. Just like the Technical Judging round, we played our submission video and answered a few questions from the panel. This time around, the judging panel focused a little more on our approach and the different problems we solved for the SGO.

The panel, to our pleasant surprise, was very very impressed with our solution! They couldn't stop praising us! It almost felt like a dream. I was floating on air at one point.


cfg winners 2022.png

After what happened in the Final Round, I was almost certain of what the result was going to be. I joined the Closing Ceremony at 4 PM, got my OBS set up and was ready to record the winning moment.

The winners were announced for each SGO, one after the other. It was beautiful to see the winning teams react to their success. It was simply pure, raw emotion. I couldn't wait for our SGO to show up on the screen until it did! There was a 5-second countdown until our Team Name flashed on the screen!

We expressed our happiness and thanked our mentors, the jury and the organizing team for everything.

It was a beautiful moment, as I saw all the smiles, all people applauding and congratulating us in the meeting. Even as I saw people behind their computer screens, it felt like I was out there, witnessing all of this in front of everyone. It's quite hard for me to describe that moment. I'd like to thank my teammates Aakriti Tagra, Jaideep Reddy Kotla and Vishal Kumar, we were together all along and our camaraderie made this possible.

The Aftermath

I'm glad I was a part of this event. I look at the winning moment video every day and it's still hard to believe what happened in those few hours. After staying up for 30 hours straight and working non-stop, I couldn't have asked for a better result. I guess all the caffeine paid off :)

Here's the swag that you get for participating in the event, and an iPad if you end up winning.

JPMC CFG 2022 Swag for Participants along with Ipad Gen 9 for Winners

Thank you for reading my story. I'll see you with another one soon. Until then, take care.

Did you find this article valuable?

Support Sreekesh Iyer by becoming a sponsor. Any amount is appreciated!