Inspiration

We've all seen it happen — a great candidate gets rejected in seconds by an automated system, with zero explanation. On the other side, recruiters spend hours manually reading through hundreds of resumes for a single job opening. We wanted to fix both problems at once: give recruiters their time back, and give candidates honest, specific feedback instead of silence.

What it does

SmartHire AI is a hiring assistant powered by Google Gemini. Paste a resume and a job description, and it instantly tells you how well they match, what skills are missing, and how to improve. Recruiters can also drop in multiple resumes at once and get them automatically ranked for a role. It even generates interview questions tailored to that specific candidate, not generic ones pulled from a textbook. And for job seekers, it acts like a personal career coach — pointing out skill gaps and rewriting their resume summary to stand out.

How we built it

We built the frontend with React and Tailwind for a clean, modern dashboard feel, and the backend with Node.js and Express to handle file uploads and talk to the Gemini API. For resumes uploaded as PDFs, Word documents, or even photos of a printed resume, we used a mix of document parsing and Gemini's ability to read images directly, so no resume format gets left out. Every AI response comes back as structured data, so the results always show up clean and organized instead of a wall of text.

Challenges we ran into

Getting the AI to give real, specific feedback instead of generic "add more keywords" advice took a lot of prompt refining. We also ran into Gemini's servers being temporarily overloaded during high traffic, so we had to build in a fallback system that automatically tries a backup model if the first one is busy, similar to how a call center transfers you to the next available agent instead of leaving you on hold.

Accomplishments that we're proud of

We're proud that this isn't just one tool — it's four useful tools in one place, built to work for both sides of the hiring table. A recruiter drowning in resumes and a job seeker who just got rejected can both open the same app and get real value out of it in seconds.

What we learned

We learned how much hiring decisions rely on context that's easy for a human to miss but is exactly what AI is good at catching — like a candidate whose experience matches perfectly but is described using different words than the job posting. We also learned the importance of building in backup plans for when an AI service is temporarily down, so the app doesn't just break in front of a real user.

What's next for SmartHire AI

Next, we want to let recruiters upload a whole folder of resumes at once instead of one by one, add support for resumes in other languages, and let users download a clean PDF report for each candidate they evaluate — something they can actually attach to an email or share with their hiring team.

Built With

Share this project:

Updates

Submission history