Analisis Pasar Kerja
Ringkasan
Deskripsi lowongan itu panjang, tidak konsisten, dan ditulis untuk dibaca sekali. Membaca seratus lowongan untuk menyimpulkan maunya pasar adalah pekerjaan yang tidak akan selesai kalau dikerjakan manual.
Ini tool Python kecil yang mengerjakannya. Dia membaca lowongan Data dan AI, mengambil requirement utama, nice-to-haves, dan level senioritasnya, lalu menampilkannya di dashboard.
Cara kerjanya
Lowongannya masuk dalam format JSONL. Tiap lowongan dikirim ke Gemma 3 lewat Ollama, yang mengembalikan requirement utama, nice-to-haves, dan perkiraan senioritas. Semuanya tampil di dashboard Streamlit yang interaktif.
Pipeline-nya disusun dengan domain-driven design. Di skala segini, itu terutama berarti parsing, pemanggilan model, dan pelaporannya dipisah, supaya mengubah satu bagian tidak diam-diam merusak bagian lain.

Teknologi
Python 3.12 ke atas, Ollama dengan Gemma 3, Streamlit, dan uv untuk mengelola dependency.
Yang akan saya ubah
Menjalankan model secara lokal itu keputusan yang disengaja. Tidak ada biaya per lowongan dan datanya tidak pernah keluar dari mesin saya. Bayarannya: dia lebih lambat daripada API call dan sesekali salah membaca requirement. Untuk tool yang memproses beberapa ratus lowongan, trade-off itu pas. Kalau dijalankan tiap hari, tidak.
Source code
Kodenya publik: https://github.com/rasyidev/job-market-analysis