Inspiration
The theme of this hackathon was to build something which will be useful during the interview season, I thought to myself what is one of the most crucial things required to apply and get shortlisted for an interview?
That's how I came up with a resume builder project idea.
What it does
The web application provides a very user-friendly interface consisting of different sections where the user is supposed to fill their data, and once that is done they can generate a pdf of the resume which is automatically rendered and formatted based on their data.
How I built it
I mainly used React to build the Web Application. Since I saved the user data temporarily using the useState hook, there was no need as such for a database. The npm libraries html2canvas and jspdf were used for converting the resume preview to a pdf which the user can download.
Challenges I ran into
- The work history section uses Draftjs for rendering a rich text editor, saving the state of the rich text editor was a complicated task because there is no prebuilt method as such for that. So when the user clicked on the back or forward arrow and returned to the work history page, then the text in the RTE would be cleared. It took quite a long time to fix that.
- I had the data which the user entered saved in the state but one of the major tasks was how to convert that data to a properly formatted resume and then generate a pdf from that which the user can download.
Accomplishments that I'm proud of
- This is my first Hackathon and I am very proud of what I ended up building in the span of just 2 days. I was glued to my screen for most of the time but it was all worth it seeing the final product.
- Converting the data entered by the user into a properly formatted resume and then enabling the user to download that as a pdf took a long time to implement but I did it!
What I learned
- How to display a Rich Text Editor in React and how to save the data entered in the RTE temporarily without using any databases, in the React state.
- Converting user data to a formatted output (ex. converting data to a formatted resume, invoice, etc.) and then exporting that as a PDF for the user to download.
What's next for ResFast Resume Builder
- Different Resume Templates
- Currently the text in the RTE is just copied as text without any of the formatting (ex. bold, underline, unordered list) that is done in the RTE, so I need to find a way to preserve that formatting.
- Input validation to check whether the user has actually entered the data, right now it doesn't check whether the mandatory fields have been filled or not.
- Resume preview is not that good on mobile screens due to the limited width (although the generated pdf is properly formatted)
Log in or sign up for Devpost to join the conversation.