Built during the EY AI Challenge 2026, ThinkRight is a full-stack decision-support system designed to streamline talent acquisition. The platform processes raw CV data, classifies candidates into domain matrices, and presents recruiters with an interactive, swipe-based interface to evaluate applicants in seconds.
Core Principle: "The AI recommends. The recruiter decides."
This project was originally conceptualized and built in a high-intensity 4-hour sprint during the EY AI Challenge 2026 alongside my brilliant teammates:
- Joana Rocha
- Joana Azevedo
- Diogo Veiga
This specific repository serves as my standalone continuation of the project, focusing on architectural refactoring, strict type safety implementation, and post-hackathon optimizations.
The repository is structured as a full-stack monorepo separating data ingestion, heuristic processing, and client presentation layers:
/backend: Python-based data extraction engine. Uses regex heuristics and keyword weights to analyze years of experience, certifications, and language proficiency from 100+ raw CVs across 5 target roles./backend/data: Centralized data vault containing anonymized PDF/text CVs, job descriptions, and generated intelligence reports./frontend: Modern, type-safe interactive dashboard built with React, TypeScript, Vite, Framer Motion, and Tailwind CSS.
Ensure you have Python 3.8+ installed. Navigate to the backend and execute the parsing pipeline:
cd backend
python process_cvs.py
python generate_frontend_data.py
python generate_report_part1.py
python generate_report_part2.pyThis will process the raw text corpus and automatically inject the parsed matrix assets directly into the frontend layer.
Ensure you have Node.js installed. Install dependencies and start the local development server:
cd frontend
npm install
npm run devNow that the baseline hackathon architecture has been successfully refactored into a scalable full-stack monorepo, my goals for evolving this codebase include:
LLM Integration: Transitioning the backend from regex-based keyword matching to an LLM semantic embedding pipeline (via LangChain / OpenAI API) for deeper context understanding.
Automated PDF Parsing: Integrating an OCR/PDF extraction microservice directly into the backend ingestion script to handle image-based CVs automatically.
Database Layer: Migrating the static JSON file data storage to a lightweight SQLite or PostgreSQL relational database structure.
