Case study: AI Job Portal with Resume Parsing

Home / Our work / AI Job Portal with Resume Parsing
Built by our own team

The software behind Job Vista’s recruitment business

Job Vista is a recruitment agency in Surat, India. Instead of renting a generic job board, we built our own platform: a public job site for candidates, a staff portal for recruiters, a portal for employers and the billing behind it all. It runs every day on a talent pool of 50,000+ candidate profiles and 125+ open jobs. This page explains what we built and how, because it is the clearest proof of what we can build for you.

Build something like this
50,000+Candidate profiles
250+Client companies
125+Open jobs
4Audiences: candidates, staff, employers, admins

The challenge

The business started on a WordPress job-board site. A job board lists jobs well, but it does not read resumes, run a recruiter’s pipeline, give each employer its own view or bill for placements, so that work happens by hand, in spreadsheets and chat threads. We needed one system that would cut the typing, keep data in one place, let candidates apply in a minute and let different people see only what they should.

What we built

AI resume parsing with OCR fallback

Recruiters upload resumes in bulk (up to 20 at a time) as PDF, Word or images. Text is extracted directly from digital files; scanned resumes and photos fall back to OCR through Google Gemini. A structured prompt then turns the text into a candidate profile (name, contact, experience, education, skills, salary), which is validated, checked for duplicates by mobile number, saved to the database and the original file stored in Google Drive. Each file runs as a background job, so the recruiter sees live progress instead of a frozen page.

Guest Easy Apply

On any job page a candidate can upload a resume without creating an account. The same parser fills the application form in seconds; the candidate checks it and submits. Candidates who do register get their profile filled the same way, and can also sign in with Google.

Staff portal: search, pipeline and interviews

  • Candidate search with SQLite FTS5 full-text indexing over resume text and profile fields.
  • An application pipeline shown as a kanban board, from applied to placed.
  • Interview scheduling with calendar invites, and placement tracking with status history.
  • Multi-source access control: each recruiter sees only the candidate databases assigned to them, with daily view and download limits by role.

Employer portal

Client companies log in to see their own job openings and the candidates the agency has submitted, and leave feedback. Candidate phone numbers and emails are deliberately withheld so the agency stays the point of contact.

Invoicing and enquiry-to-revenue tracking

When a candidate is placed, staff create an invoice from the placement; the fee defaults to the company’s agreed percentage of annual salary and every figure stays editable. Payments and deposits are recorded against it. Every website enquiry carries its source (search, referral, campaign), and an admin report follows it through to client, placement and amount invoiced, so marketing decisions are based on revenue, not clicks.

Analytics

An admin dashboard shows the pipeline funnel, which candidate sources lead to placements, recruiter performance and a six-month placement trend.

Migrating from WordPress without losing a single login

Jobs, candidates, applications, employers and interviews were imported from the WordPress database with their original IDs kept for traceability. User password hashes were imported as they were: on a user’s first successful login the password is checked against the old WordPress hash (phpass or the newer format) and immediately re-hashed with bcrypt. Nobody had to reset a password, and old hashes disappear as people log in. Old WordPress URLs redirect permanently to their new addresses so search rankings carry over.

Security

  • Bcrypt password hashing and optional two-factor authentication (TOTP) for staff.
  • Database-backed brute-force lockout keyed on both account and IP address, with progressive back-off.
  • Origin-checked forms, secure cookies and an activity log of staff actions.
  • Role-based access for candidates, recruiters, managers, admins and employers.

Technology

Deliberately simple, so it runs reliably on affordable shared hosting:

PythonFlaskSQLAlchemyAlembic migrationsSQLite (WAL mode)SQLite FTS5Google Gemini APIGoogle Drive APIJinja templatesVanilla JavaScriptBackground job threadsGoogle OAuth

What this means for your project

The same building blocks apply far beyond recruitment: reading documents with AI and turning them into structured data, portals where customers, staff and partners each see their own view, invoicing tied to real operations, and moving off an old platform without losing users or search traffic. If your business runs on documents, spreadsheets and manual follow-ups, we can build the system that replaces them.

Related services

Frequently asked questions

Which AI does the resume parser use?

Google Gemini. Text is extracted from PDF and Word files directly; scanned resumes and photos fall back to Gemini OCR. The model returns structured fields that are validated before they are saved.

How were WordPress users migrated without resetting passwords?

The WordPress password hashes (phpass and the newer $wp$ format) were imported as they were. On a user’s first successful login the password is verified against the old hash and immediately re-hashed with bcrypt.

Why SQLite instead of a database server?

The site runs on shared cPanel hosting at medium scale. SQLite in WAL mode with FTS5 full-text search is fast enough, needs no separate server and is backed up as a single file before every migration.

Can you build something similar for my business?

Yes. The same building blocks (AI document parsing, portals with role-based access, invoicing and background processing) apply to many industries. Send an enquiry and we will discuss your use case.

Quick enquiry

Get a call back within a few hours

Share a few details and the right person from our team will call you. No long forms, no obligation.

  • Free consultation
  • Reply within a few working hours
  • Your details stay private

Prefer to talk now? 99788 85604