"Women in Politics" - A Hackathon Winning Solution

Sreekesh Iyer
·Sep 3, 2022·
"Women in Politics" - A Hackathon Winning Solution

Subscribe to my newsletter and never miss my upcoming articles

Play this article

Table of contents

  • What is Code For Good?
  • The Problem Statement
  • Our Approach
  • The Tech Stack
  • Our Solution
  • Results

I was recently a part of a social good hackathon Code For Good 2022 earlier this year. It was a part of the recruitment process of J.P. Morgan Chase & Co. for the Software Engineer position.

What is Code For Good?

image.png

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

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.

For more about my experience in CFG, read this article.

The Problem Statement

image.png The organization assigned to my team was Center for Gender and Politics (CGAP). They promote gender equality in politics with the help of awareness campaigns, blogs, etc. They function across South Asia.

They wanted a software solution to increase their audience to spread awareness about their initiative.

Our Approach

Given that we only had 24 hours to work on a solution, we thought of working on an approach where we tried to solve as many problems for the organization as possible. Here are some of the things that we initially listed down, which we thought we could fix.

  • CGAP already had a blog as a part of its website. It just needed a better, more interactive user interface.
  • CGAP had volunteers who collected stories across South Asia, sometimes in their regional languages. They had them stored scattered in Google Drive. They would like to work with a centralized database.
  • CGAP's blogs were newsletters generated by a MacOS tool in PDF form, i.e. images put one after the other. It wouldn't be SEO friendly. An ideal solution would be to switch to Markdown, which would also help in incorporating meta tags to help improve SEO.

The Tech Stack

As a team, we decided to proceed with the following technologies given the simplicity of setup and working procedure.

  • Frontend: Next.js
  • Backend: Strapi.io (comes bundled with an API and an SQLite database by default)
  • Python for Web Scraping

Our Solution

Web Scraping using Python

image.png

We used The Guardian's public API alongside Python to automate the scraping of stories from the internet. The idea was to showcase that we can automate the collection of stories across South Asia.

According to CGAP, this is the first step of getting stories on their blog. It is also the step that takes the longest due to its complexity. Any measures in automating this would save a lot of time.

Volunteer Recruitment using a Chat Bot

Screenshot_574.png

We thought that providing an AI chatbot would be an intuitive approach to onboard volunteers. The submissions would be stored in a CSV file, making it easier for the administration to manage them.

The Backend

image.png

image.png

We wanted a centralized database to simplify the collection and management of stories. The fact that Strapi comes with an admin panel also meant that it would make it easier for the volunteers to write articles, monitor and publish them.

Publishing articles from the backend was necessary because the collection of stories is handled from the backend too.

The Frontend

image.png

We aimed at having a relatively minimalist UI design for our blog front end since our primary focus was on functionality. We were able to split blogs into different categories to showcase them.

We were also showcasing articles written in regional languages.

Volunteer Dashboard

image.png

We also had an Authentication System for Volunteers to Sign In and monitor their progress in their blogs. The stage of progress was also dynamic, i.e. retrieved from the database.

Bonus: Text Summarization

image.png

We also added a simple feature for summarizing the text to be added to article excerpts. CGAP wanted article excerpts to be somewhere around 50-60 words.

Results

image.png

It was a lot of work to do in less than 24 hours alongside all the brainstorming, setup and making a presentation. I feel that completing this project as a team of 4 people was a huge accomplishment. The appreciation and positive feedback from the jury made it even more special.

Making it through the night, going through to the final round and winning the competition is another story. This hackathon has given me a lot of memories to cherish.

Did you find this article valuable?

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

See recent sponsors Learn more about Hashnode Sponsors
 
Share this