InternationalSkills.fi · Finland🤖 AI-Powered · Firebase · Google Meet Integration

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.

InternationalSkills.fi recruiting management system screenshot

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

👤 For Candidates
1

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.

2

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.

3

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.

🏢 For HR
1

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.

2

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.

3

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

Next.js 15TypeScriptTailwind CSSRechartsReact Big CalendarHeadless UI

Backend & Auth

Firebase AuthFirestoreFirebase StorageNodemailer

AI & Integrations

Gemini 2.5 ProGoogle Calendar APIGoogle Meet@google/generative-ai

Security

Upstash RedisCSRF ProtectionDOMPurifyZod

Testing & Quality

VitestPlaywrightReact Testing LibraryESLintPrettier

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.