
AI Resume Analyzer
Detail Proyek
AI Resume Analyzer
Platform analisis resume berbasis AI untuk mengukur tingkat kecocokan resume terhadap deskripsi pekerjaan — mencakup perhitungan skor ATS, deteksi keyword gap, hingga pembuat cover letter otomatis berbasis Google Gemini AI. Dibangun mandiri secara end-to-end, mulai dari arsitektur monorepo Nuxt + FastAPI hingga sistem ekspor PDF terprogram.
Ringkasan Proyek
- Kategori: Personal Project
- Peran: Full-Stack Developer
- Tech Stack: Nuxt 4 (Vue 3, Composition API), Pinia, Tailwind CSS, jsPDF, FastAPI (Python 3.13), SQLAlchemy (async), PostgreSQL (Docker), Alembic, Google GenAI SDK (gemini-2.5-flash), Pydantic, SlowAPI, PyMuPDF, python-docx
Latar Belakang / Ide Awal
Banyak pencari kerja gugur di tahap awal seleksi saniter bukan karena kurangnya kualifikasi, melainkan karena dokumen resume mereka tidak memuat kata kunci spesifik yang dipindai oleh Applicant Tracking System (ATS). Di sisi lain, menyesuaikan isi resume dan menyusun surat lamaran secara manual untuk puluhan lowongan memakan waktu lama — terlebih ketika harus menyalin deskripsi pekerjaan dari portal karir yang penuh dengan elemen teks yang tidak relevan.
Proyek ini dibangun sebagai solusi praktis sekaligus ruang eksplorasi teknis untuk:
- Membangun sistem integrasi LLM yang konsisten menggunakan pendekatan structured outputs (JSON schema) agar hasil analisis data dapat diproses secara tepercaya oleh sistem.
- Merancang arsitektur monorepo full-stack dari nol menggunakan Nuxt 4 dan FastAPI async untuk menangani proses I/O-bound secara efisien.
Keputusan & Trade-off Arsitektur
-
Structured Outputs pada Gemini AI (bukan Free-Form Text):
Agar data seperti skor ATS dan daftar keyword gap bisa diolah secara terprogram oleh frontend, respons AI dikunci ke skema Pydantic yang ketat. Meskipun membutuhkan perancangan skema yang lebih rinci di awal, pendekatan ini berhasil menghindari risiko parsing error yang kerap terjadi pada output teks bebas. -
Pengolahan Ekspor PDF Terprogram dengan jsPDF (bukan Tangkapan Layar HTML):
Pendekatan berbasis HTML-to-Image/PDF sering menghasilkan dokumen buram dan memotong baris teks di batas halaman. Ekspor laporan dirombak dengan menulis layout secara terprogram via jsPDF. Meskipun harus menghitung koordinat margin dan page break secara manual, dokumen PDF A4 yang dihasilkan jauh lebih tajam dan rapi. -
Backend Asinkron dengan FastAPI (bukan Synchronous Framework):
Proses pembersihan teks deskripsi pekerjaan (scraping) dan pemanggilan API Gemini AI bersifat I/O-bound. Penggunaan async/await pada FastAPI dan SQLAlchemy menjaga ketersediaan thread API agar tetap responsif saat menangani permintaan pengolahan data.
Fitur Utama Produk
-
Analisis Skor ATS & Keyword Gap
Mengekstrak dan mencocokkan dokumen resume (PDF/DOCX) dengan deskripsi pekerjaan untuk menghasilkan skor kelayakan (0–100), daftar kata kunci yang belum terpenuhi, serta poin perbaikan yang spesifik. -
Ekstraksi Deskripsi Pekerjaan via URL
Mengunduh konten lowongan kerja langsung dari tautan eksternal, membersihkan elemen HTML yang tidak diperlukan, dan mengekstrak kualifikasi inti secara otomatis menggunakan AI. -
Generator Cover Letter Dinamis
Menyusun draf surat lamaran 3–4 paragraf yang disesuaikan secara khusus dengan kualifikasi pekerjaan dan riwayat resume pengguna, lengkap dengan editor teks langsung sebelum diunduh. -
Ekspor Laporan PDF Ready-to-Print
Mengonversi ringkasan hasil analisis menjadi dokumen PDF A4 berformat rapi yang siap dicetak atau disimpan. -
Penyimpanan Profil Resume Utama
Menyimpan dokumen resume dasar di server agar pengguna dapat melakukan analisis berulang pada berbagai lowongan kerja tanpa perlu mengunggah ulang berkas.
Tantangan Teknis & Solusi
-
Pembersihan Noise Teks pada URL Lowongan Kerja:
Proses ekstraksi langsung dari portal kerja sering kali membawa elemen non-konten seperti menu navigasi, iklan, dan skrip footer. Solusinya, backend menerapkan pembersihan awal berbasis Regex untuk membuang tag HTML mentah (<script>,<style>,<nav>,<footer>), lalu meneruskan teks bersih ke Gemini AI dengan skema Pydantic untuk mengisolasi deskripsi pekerjaan secara akurat. -
Presisi Pembagian Halaman pada Ekspor PDF:
Untuk mencegah teks terpotong di batas halaman A4, logika cetak disusun secara terprogram menggunakan jsPDF dengan menghitung posisi koordinat Y secara dinamis, mengelola page break otomatis, serta menggambar garis pembatas antar-blok informasi secara konsisten.
Pembelajaran & Catatan Teknis
- Menerapkan integrasi LLM berbasis skema Pydantic (structured output) untuk menjamin konsistensi format data pada sistem produksi.
- Merancang alur pembentukan PDF terprogram menggunakan kalkulasi koordinat halaman sebagai alternatif dari pendekatan berbasis screenshot.
- Mengelola arsitektur monorepo full-stack (Nuxt 4 + FastAPI), mencakup pengaturan migrasi database dengan Alembic dan manajemen sesi async pada SQLAlchemy.
Spesifikasi Proyek
Ingin Proyek Serupa?
Tim ahli kami siap membantu Anda merealisasikan inovasi sistem software terbaik.
Project Showcase
7 Tangkapan Layar





Proyek Lainnya
Jelajahi karya rekayasa perangkat lunak lainnya.

Koperasi Sedia
Cooperative core banking platform: automated savings, flat & annuity loans, daily cash register, proportional dividend allocation, and print-ready legal loan agreements.

SupportSense AI
Autonomous enterprise AI customer support engine fusing Hybrid RAG + KAG (PostgreSQL & ChromaDB) for zero-hallucination order tracking and cost-efficient sub-second routing.

Bizinsight AI
BizInsight AI adalah sistem Multi-Agent yang mengubah pertanyaan bisnis sehari-hari menjadi query database, grafik interaktif, dan wawasan bisnis otomatis tanpa perlu paham SQL.