Platform karir berbasis AI yang mengintegrasikan pembuatan CV profesional, simulasi wawancara kerja adaptif, dan profiling kandidat dalam satu ekosistem.
Live: production.ehw.my.id
- Ringkasan
- Arsitektur
- Fitur Utama
- Tech Stack
- Struktur Proyek
- Setup & Development
- Deployment
- Environment Variables
- API Endpoints
Irgamata adalah platform end-to-end yang membantu pencari kerja menyiapkan profil profesional mereka melalui tiga pilar utama:
- I-CV — Buat atau tingkatkan CV dengan editor terstruktur dan AI (DeepSeek)
- I-Interview — Latihan wawancara real-time dengan AI voice agent (ElevenLabs + Gemini)
- I-Hire — Dashboard profil kandidat yang menggabungkan kualitas CV dan hasil evaluasi wawancara
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Frontend │ │ Backend │ │ External │
│ (Vite+React)│────▶│ (FastAPI) │────▶│ APIs │
│ Port: 80 │ │ Port: 8000 │ │ │
└─────────────┘ └─────────────┘ └─────────────┘
│ │ - ElevenLabs
│ │ - Gemini 2.5
Nginx Reverse Proxy │ - DeepSeek
│ │ - SerpAPI
▼ ▼
┌─────────────────────────────────┐
│ Docker Compose │
│ (nginx + web + backend) │
└─────────────────────────────────┘
Halaman utama dengan hero section, alur 3 langkah profesional, kartu layanan, dan pricing.
Sistem pembuatan CV profesional dengan dua mode:
- Buat dari Nol — Editor multi-step (Profil, Ringkasan, Pengalaman, Detail Pendukung, Review)
- Tingkatkan dengan AI — Upload PDF/DOCX atau tempel teks, DeepSeek merapikan ke template
cv_v1
Fitur:
- Template ATS-friendly dengan schema
cv_v1 - Editor terstruktur 5 tahap
- Repeater untuk pengalaman, pendidikan, proyek, sertifikasi, bahasa
- Preview real-time dengan deferred rendering
- AI improve flow: upload file (PDF/DOCX, max 5MB) atau paste teks
- Validasi per langkah sebelum lanjut ke step berikutnya
- Mendukung output Bahasa Indonesia dan English
Simulasi wawancara kerja adaptif menggunakan voice AI:
- ElevenLabs — Voice agent untuk percakapan real-time
- SerpAPI — Riset perusahaan otomatis untuk konteks wawancara
- Gemini 2.5 Flash — Evaluasi transkrip pasca-wawancara
Fitur:
- Parameter simulasi: posisi target, perusahaan, job description
- 3 level kompleksitas: Entry-level, Mid-senior, Expert
- Bahasa evaluasi: Indonesia dan English
- Evaluasi otomatis setelah sesi selesai (skor 0-100)
- Scoring per kategori: Technical, Communication, Problem Solving, Cultural Fit, Confidence
- Strengths, weaknesses, dan improvement suggestions
- Integrasi Chrome Extension untuk auto-scrape dari LinkedIn/job board
Dashboard yang mengkonsolidasikan CV dan hasil evaluasi wawancara menjadi profil kandidat.
- Scoring kesiapan posisi
- Kompilasi kualifikasi
- Dasbor metrik kandidat
Ekstensi Chrome untuk mengambil data lowongan dari situs pencarian kerja dan langsung memulai sesi interview.
- Auto-scrape job title, company, job description, dan lokasi dari halaman lowongan
- Langsung membuka I-Interview dengan konteks terisi otomatis
- SPA-aware menggunakan
MutationObserver - Konfigurasi URL via popup (default:
production.ehw.my.id)
Lihat dokumentasi lengkap di chrome-extension/README.md.
| Layer | Teknologi |
|---|---|
| Frontend | React 19, TypeScript, Vite 7, TailwindCSS 4 |
| UI Components | Radix UI, Lucide Icons, Framer Motion, GSAP |
| Backend | Python, FastAPI, Uvicorn |
| Database | PostgreSQL (asyncpg) |
| AI / LLM | DeepSeek (CV), Gemini 2.5 Flash (Evaluasi), ElevenLabs (Voice) |
| Search | SerpAPI (Company Research) |
| Auth | JWT (python-jose), Bcrypt |
| Deployment | Docker Compose, Nginx reverse proxy |
| Extension | Chrome Manifest V3 |
Irgamata/
├── backend/ # FastAPI backend
│ ├── main.py # API routes & app setup
│ ├── auth.py # JWT auth helpers
│ ├── cv_service.py # CV improve logic (DeepSeek)
│ ├── database.py # PostgreSQL connection pool
│ ├── requirements.txt # Python dependencies
│ └── Dockerfile
├── web/ # React frontend (Vite)
│ ├── src/
│ │ ├── pages/ # LandingPage, CvPage, InterviewPage, HirePage, LoginPage
│ │ ├── features/cv/ # CV editor components, schema, utils
│ │ ├── components/ # Shared UI components (Navbar, BlurText, etc.)
│ │ ├── contexts/ # AuthContext
│ │ └── hooks/ # Custom React hooks
│ ├── package.json
│ └── Dockerfile
├── chrome-extension/ # Chrome Extension (Manifest V3)
│ ├── manifest.json
│ ├── content.js # Job scraping & injection
│ ├── background.js # Service worker
│ └── popup.html/js/css # Extension popup UI
├── nginx/ # Nginx reverse proxy config
├── docker-compose.yml # Base compose
├── docker-compose.prod.yml # Production override
├── docker-compose.dev.yml # Development override
└── .env.example # Environment template
- Node.js 20+
- Python 3.11+
- PostgreSQL
- Docker & Docker Compose (untuk deployment)
cd web
npm install
npm run devFrontend akan jalan di http://localhost:5173
cd backend
pip install -r requirements.txt
cp ../.env.example ../.env # Edit sesuai kebutuhan
python main.pyBackend akan jalan di http://localhost:8000
# Development
docker compose -f docker-compose.yml -f docker-compose.dev.yml up -d
# Production
docker compose -f docker-compose.yml -f docker-compose.prod.yml up -dProduction menggunakan Docker Compose dengan 3 service:
| Service | Image | Port |
|---|---|---|
web |
Vite build + Nginx | 80 (internal) |
backend |
FastAPI + Uvicorn | 8000 (internal) |
nginx |
Nginx Alpine (reverse proxy) | 80 (exposed) |
Resource limits:
- Backend: 1 CPU, 512MB RAM
- Nginx: 0.5 CPU, 128MB RAM
docker compose -f docker-compose.yml -f docker-compose.prod.yml up -dBuat file .env di root project berdasarkan .env.example:
| Variable | Deskripsi | Required |
|---|---|---|
ELEVENLABS_API_KEY |
API key untuk voice agent | Ya (I-Interview) |
ELEVENLABS_AGENT_ID |
Pre-built agent ID | Ya (I-Interview) |
GEMINI_API_KEY |
Google Gemini API key | Ya (Evaluasi) |
DEEPSEEK_API_KEY |
DeepSeek API key | Ya (I-CV improve) |
DEEPSEEK_MODEL |
Model name (default: deepseek-chat) |
Tidak |
SERPAPI_KEY |
SerpAPI key untuk riset perusahaan | Tidak |
DATABASE_URL |
PostgreSQL connection string | Ya |
JWT_SECRET |
Secret key untuk JWT tokens | Ya |
| Method | Path | Deskripsi | Auth |
|---|---|---|---|
GET |
/api/health |
Health check + status API keys | - |
POST |
/api/auth/register |
Registrasi user baru | - |
POST |
/api/auth/login |
Login user | - |
POST |
/api/cv/improve |
Upload & improve CV dengan AI | Bearer |
POST |
/api/interview/prepare |
Riset perusahaan untuk konteks | - |
POST |
/api/interview/create-agent |
Buat voice agent session | Optional |
POST |
/api/interview/evaluate |
Evaluasi transkrip wawancara | Optional |
Hak cipta 2026 Irgamata. Seluruh hak dilindungi.






