Inspiration
It all started while attending the GHC conference last September. We were sharing our frustrations about the job hunt – the endless scrolling, the missed opportunities, and the overwhelming feeling of not knowing where to start. As we brainstormed ideas to make the process easier, we realised that many of our peers faced similar challenges like spending more time searching for jobs than actually applying to them. We were inspired to create a way that would eliminate the need for manual searching altogether and instead bring job postings directly to our personal device.
What it does
Our application, "Hack-A-Job," simplifies the job search process by automating the search across job websites. After entering our search criteria, it collects relevant job postings and extracts important details like job title, company, and location. Along with these it will identify the Tech keywords from the job description and then these details will automatically be populated into a shared Excel sheet for easy access by all three of us. Additionally, our Chrome extension keeps the sheet updated jobs applied. Due to the limited time constraints of the hackathon, we did not integrate the automation in our application but pushed the code to Git and it is ready for integration. All of this saves us time and ensures we stay organised during our job search.
How we built it
We used Flutter framework for building the frontend of the application. We have a landing page that looks warm and inviting which seamlessly flows in a form for the users to pick what kind of jobs they want to receive job postings for and the submit button is enabled only when the data is properly populated. And then the user gets to clicks on submit button which extracts the data from all the fields and packages the data as a json object which is sent to the server via a http connection. The server then, via API calls populates the excel sheet with latest job postings and keeps appending data to it so the user will be able to maintain a list. We also developed a google extension to populate the database with jobs applied that it tracks based on the matching url that it extracts from the job application submitted, which it then matches with the jobs in the populated excel sheet to mark it as applied.
Challenges we ran into
Building a middleware to connect the frontend and backend in three different languages posed challenges in our project. We opted for Python for the backend due to its proficiency in handling dataframes essential for our simulation. Flutter was chosen for the frontend to explore a new technology distinct from commonly used frameworks like Angular and React. Meanwhile, JavaScript was utilized for crafting a Chrome extension necessary for automating the process of marking job applications as applied. Integrating animations into the frontend proved to be another hurdle, but we managed to leverage Flutter's built-in support and experimented with its animation widgets to seamlessly integrate animations. Additionally, grappling with data modeling, a novel concept for us, presented difficulties. Throughout these challenges, we emphasized breaking tasks into manageable steps, leveraging online resources and community forums, collaborating with team members for problem-solving, and seeking guidance from mentors or experienced developers when needed.
Accomplishments that we're proud of
We are proud of several accomplishments in our project. Firstly, we successfully developed a middleware solution that seamlessly connects the frontend and backend using Python, Flutter, and JavaScript. The traditional process earlier took hours to complete the process, wheer our pplication automates the process in seconds. This multi-language approach enabled us to leverage the strengths of each language while overcoming compatibility challenges. Additionally, we integrated animations into the frontend using Flutter's built-in support, enhancing the user experience. Our team also tackled the learning curve of data modeling, mastering essential concepts and implementing them effectively in our backend using tools like SQLAlchemy. Furthermore, we extended the system's functionality to run in the background on personal computers, autonomously monitoring and extracting new job listings based on specified criteria. Our Chrome extensions automate the process further, detecting job applications and updating a shared Excel sheet accordingly, showcasing our commitment to streamlining processes and minimizing manual intervention. Moreover, our codebase is open-source and available on GitHub, reflecting our dedication to transparency and collaboration within the developer community. Looking ahead, we are excited about our future plans to integrate a database, allowing users to save filters and job listings within the application, thereby transforming it into a comprehensive and user-friendly platform. Overall, our accomplishments demonstrate our team's technical proficiency, adaptability, and determination to deliver innovative solutions.
What we learned
We learned a lot of new technologies ranging from front end technologies, building middleware, integrating animations in the front end, and data modelling along with team work, enjoying healthy competitions and more!
What's next for WING A JOB
The system's functionality can be extended to run in the background on personal computers, periodically monitoring for new job listings based on specified criteria such as location, industry, and job title. Once a new job posting is detected, relevant details like job title, company, location, and a link to the posting are automatically extracted and populated into a shared Excel sheet, minimizing manual intervention. This extension could be implemented as a Chrome extension, set to run every few hours while the browser is open. Additionally, a separate Chrome extension has been developed to detect if an applicant has applied to a job and automatically mark it as applied in the Excel sheet, although integration into the system is pending due to time constraints. The code for these extensions is available on GitHub. Future plans include integrating a database to allow users to save their filters and job listings within the application, eliminating the need for Excel sheets and further developing the system into a comprehensive application.
Built With
- chrome
- dart
- extension
- flask
- flutter
- javascript
- python
Log in or sign up for Devpost to join the conversation.