InternationalSkills.fi — Recruiting Management System
A full-stack web application that simplifies the entire hiring process — from candidate registration and document uploads to AI-powered scoring, interview scheduling via Google Meet, and real-time status tracking through a dedicated HR dashboard.

Core features
End-to-end recruitment tooling for candidates and HR teams
Multi-Step Application Form
Guided wizard collecting personal info, job preferences, and document uploads (CV, passport, photo) with real-time Zod validation and disposable-email detection.
Candidate Dashboard
Track application status in real-time (Submitted → Interview Scheduled → Approved / Rejected), view your AI score breakdown, and access your Google Meet interview link.
AI Candidate Scoring
Gemini 2.5 Pro evaluates CVs and online profiles across four weighted dimensions: Job Match (40 %), Experience (30 %), Skills (20 %), and Potential (10 %).
Smart Interview Scheduling
HR schedules interviews directly via Google Calendar. Automatic Google Meet links are generated and dispatched to candidates by email with calendar invitations.
HR Dashboard
Comprehensive view of all candidates with advanced multi-criteria filtering, sorting, pagination, bulk status updates, and one-click export to CSV, XLSX, or JSON.
Real-Time Analytics
Live Recharts dashboards showing application-status distribution and AI-score histograms, giving hiring teams instant pipeline visibility.
How it works
Register & Verify
Create an account and pass email verification — disposable-address detection blocks throwaway inboxes. Your credentials are secured by Firebase Auth from the first step.
Fill the Application
Complete the multi-step wizard: personal details, preferred job category, and document uploads (CV in PDF/DOC/DOCX, passport copy, profile photo). Zod validates every field in real time before you advance.
Track & Attend
Log in anytime to see your live status (Submitted → Interview Scheduled → Approved / Rejected), read your AI score breakdown by dimension, and open the Google Meet link emailed at scheduling.
Manage the Pipeline
All candidates from every platform land in one HR dashboard. Filter by status, job category, AI score range, or date; sort and paginate across hundreds of profiles; bulk-update statuses in a single action.
Score with AI
Trigger Gemini 2.5 Pro on any candidate. It reads their CV and linked portfolio then returns a weighted score — Job Match 40 %, Experience 30 %, Skills 20 %, Potential 10 % — with a recommendation level and written rationale.
Schedule & Notify
Pick a slot directly in the built-in calendar view. A Google Meet link is generated automatically, a calendar invite goes to the candidate, and their dashboard status updates instantly — no manual follow-up needed.
Tech stack
Frontend
Backend & Auth
AI & Integrations
Security
Testing & Quality
Security & data protection
Distributed rate limiting via Upstash Redis — all API routes are protected against brute-force and abuse
CSRF tokens on every form submission and mutation endpoint
XSS sanitization with isomorphic-dompurify applied to all user-submitted text before storage
Firebase Auth token validation — every protected action requires a valid server-side token check
Firestore Security Rules — candidates can only read their own records; admin access is scoped and role-gated
Disposable email detection at registration to prevent fake account creation
About the project
InternationalSkills.fi is a Finnish-based labor recruitment service connecting skilled international workers with European employers. The company advertises on LinkedIn, Indeed, Join, and other job boards — but instead of managing separate applicant pools on each platform, every listing points candidates to this central portal. The portal collects all applications in one Firebase database, scores them with Gemini 2.5 Pro, and lets the HR team schedule Google Meet interviews without leaving the HR dashboard.