Due to deep-rooted societal and cultural barriers women have been historically underrepresented in the fields of advanced skills. This historic consequence has led to a wide gender gap and a serious lack of diversity in workplaces. This skill gap sometimes translates to differences in wages and a lack of opportunities to advance their careers and promote to senior positions. As per McKinskey only 23% of the workforce in computing is women.
Hence, we introduce … WomanUp, your personal guide and mentor to level up your game.
What it does
WomanUp aims to bridge gender gap by providing a learning platform to skill up in any area tech, non-tech, Life skill or recreational. It aims to be single stop for latest upcoming events to advance career and provides with a newsfeed for opportunities for women, from sites like AnitaBorg, Women in Tech, Women who code, etc.. Users will have access to strong built communities where like-minded women can share their journey and motivate each other as they as they learn new skills. Users can find information of meetups and events related to the skill they are learning and allows to make new connections and seek advice.
WomanUp, offers four primary services:
Platform to search for video tutorials for any skill Tech, Non-Tech, Life-skill or recreational and recommends skills based on user interests.
Offers support groups, in the form of group chats where people with similar interests can share their journey and build a strong community motivating each other.
Especially curated news feed of resources including upcoming events focused on women to advance their career from organizations like AnitaBorg, Women in Tech, Women who code.
Meetup groups and events relevant to the skills you are learning filtered using location and date to make new connections, clear doubts or learn together.
How we built it
Backend: Hosted as a Python web app using flask framework on Gunicorn web server deployed on Heroku. We used Airtable as the database for the app which has two tables having user information and user data including embedded images as attachments.
Storage: Since Airtable has a limitation of uploading images only if they are hosted on a publicly accessible URL, we used AWS S3 storage to store all images in a publicly accessible S3 bucket and used the URL to upload images to the Airtable.
UI: User can search for tutorials to learn new skill, displays current resources to advance career, has chat groups for women with similar interests to motivate each other and meetups information relevant to skills the user is learning.
Challenges we ran into
Airtable API currently can only post attachments hosted on publicly accessible URL, hence, to post base64 encoded image we uploaded the image to S3 and give the URL to the Airtable which on the background fetches the image from S3
Information for Meetups page is fetched using REST API of Meetups.com which does not allow key word search directly. Hence, we have to match groups events with date, time and location for the skills users are part of. This led to complex logic and slow processing due to multiple API calls
It took us some time to recognize the issue of enabling CORS to allow cross-origin requests from the front-end to the Heroku backend.
Persisting user messages in group chats to databases was a challenging task since if we store messages sent per user per group this could result in the same message being stored multiple times. Hence, we decided to make a design decision for messages to be temporary and message history is limited to just the current chat session
Accomplishments that we are proud of
We are proud to develop and deploy a full-scale working Web app with scalable backend and frontend to educate about and become change agents for the gender gap in technology by innovating and inspiring with code.
We incorporated diverse tech stack ranging from cloud technologies – AWS S3, Airtable, Heroku to traditional frameworks – Python, Vue.js, CSS, HTML hosted on scalable gunicorn server.
We synchronized and collaborate coherently even though it was a fully virtual hackathon. This makes us more confident in our ability to work in highly distributed software teams.
What we learned
Learned to use Airtable through UI and REST API. Learned how to attach images to Airtable through AWS S3 storage
Deploying app on Heroku and exporting AWS credentials to the hosted APP without coming to version control
Learned about CORS and allowing cross-origin request between python backend and Vue.js front end
Hosting web app on Gunicorn and converting flask application to Gunicorn app.
Collaborate virtually as a team effectively
What's next for WomanUp
Hosting the front end on Netlify
Get sponsors from the organizations like AnitaBorg, Women in Tech, Women who Code to advertise upcoming events and meetups in Resources and Meetups pages.
Persisting group chat messages from local storage to the database and supporting chat message history across multiple sessions.
Make APIs calls more robust with error checking and secure using encryption
Integrate the ability to post new meetups created directly to Meetup.com website
Pinak Sawhney - firstname.lastname@example.org