Inspiration
As students actively navigating the job market, we often found ourselves struggling to tailor our CVs for different job postings. The process of identifying relevant skills, projects, and experiences for each application was tedious and time-consuming. We wanted a tool that could automate this process while maintaining a high level of customization. This need for efficiency and personalization sparked the idea for BCV — a CV generator that intelligently adapts to job postings using cutting-edge AI.
What it does
BCV is a user-friendly website that generates optimized, one-page CVs tailored to specific job postings. Users can input their details, including projects, work experiences, skills, extracurricular activities, and basic information, as well as the job description they’re applying for. Leveraging Gemini AI, the platform ranks the user’s skills and experiences by relevance to the job and selects the best-fitting elements for the CV. The result is a visually appealing, job-specific CV designed to maximize the user's chances of standing out.
How we built it
We built BCV using a robust tech stack:
- Frontend: React, TypeScript, Tailwind CSS, React-pdf (for the CV pdf generation)
- Backend: Drizzle ORM, JavaScript, Postgres database
- AI Integration: Gemini API for ranking and selection of CV elements (using the Gemini API key)
The frontend handles user input and dynamically displays the generated CV, while the backend processes and stores user data. The integration with Gemini allows us to intelligently analyze job postings and match them to user-provided information. Tailwind CSS helped us create a clean and responsive design, and Drizzle ORM simplified database interactions.
Challenges we ran into
- Time Constraints: Developing a functional and polished project within a limited timeframe required efficient task delegation and rapid decision-making.
- AI Output Issues: Gemini often returned unexpected results, going off track or misinterpreting input. This required additional preprocessing and fine-tuning to achieve consistent results.
- Debugging: As with any project, debugging was a significant challenge, particularly with integrating new tools and libraries.
- Unfamiliar Roles: Each team member stepped out of their comfort zone, taking on roles in areas they weren’t entirely familiar with, such as frontend design or backend architecture.
Accomplishments that we're proud of
- Completing the Project: Despite the tight deadline, we delivered a fully functional product.
- Usability: BCV is not just a prototype; it’s a practical tool that addresses a real need for job applicants.
- Learning New Skills: Each team member gained valuable experience by working outside their comfort zones, whether mastering new frameworks or improving debugging techniques.
- Polished Design: The responsive, professional-looking UI exceeded our initial expectations.
What we learned
- AI Integration: We gained insights into integrating AI APIs like Gemini, including how to handle unpredictable outputs and improve results through preprocessing and context setting.
- Collaboration: Working as a team with distributed roles taught us the importance of communication and effective collaboration under pressure.
- Tech Stack Mastery: We deepened our knowledge of React, TypeScript, Tailwind CSS, Drizzle, and Postgres, among other tools.
What's next for BCV
- Improved AI Output: Refining the interaction with Gemini to produce even more accurate and relevant results.
- Template Options: Adding multiple CV design templates for users to choose from.
- Advanced Customization: Allowing users to manually tweak AI-generated CVs for greater personalization.
- Mobile Support: Optimizing the platform for seamless use on mobile devices.
- Expanded Features: Including support for cover letter generation, multilingual CVs, and portfolio links.
- Broader Accessibility: Scaling the platform to cater to different industries and job levels, from internships to senior roles.
Built With
- css3
- drizzle
- html5
- javascript
- postgresql
- react
- react-pdf
- tailwind
- typescript
Log in or sign up for Devpost to join the conversation.