/ Case study — Job board
Valid Loker
A job platform where the AI does the work a small team can’t do by hand. It reads a job off a flyer photo, screens every upload, answers seekers around the clock, and turns a profile into an ATS-ready CV.
✓ TervalidasiSales / Account Executive (Catering & F&B)
Ayam Bakar Asap Jimbaran
◈ Rp4.000.000 – Rp9.000.000
◎ Serpong (BSD), Tangerang
✓ TervalidasiCaptain / Junior Supervisor Resto
Lim Kok Tong
◈ Mulai Rp2.500.000
◎ Taman Mini (TMI) / Cakung, Jakarta Timur
✓ TervalidasiSushi Man & Kitchen Helper
Kinokawa Japanese Restaurant
◈ Gaji tidak dicantumkan
◎ SCBD Senayan, Jakarta Selatan
The actual product, rebuilt in code — every listing here passed the validation pass.
- Claude vision — flyer photo → structured listing
- Photo moderation — fail-open (outage never blocks)
- Model-tiered — Haiku 4.5 volume · Sonnet 4.6 hard
/ What it does
Find a real job — fast, and without the scams
A job board where every listing is checked by a real team, search is instant, and you can apply straight from your phone — plus an AI that builds you a recruiter-ready CV.
Search
Type a role or a company.
No more scams
Every listing is human-verified before it goes live.
Apply in seconds
One tap sends you straight to the employer — no clunky forms.
Stand out
A clean, recruiter-ready CV built for you in minutes.
Problem
Job seekers in Indonesia wade through scam postings; posters give up on clunky forms; and a small team can’t manually screen every listing, photo, and question. The tagline promises “cari kerja lebih cepat, tanpa takut penipuan” — find work faster, without fear of fraud — and that only scales if AI does the screening.
Approach
A three-app platform — a public site, a seeker app, and an admin — with Claude wired into exactly the parts that don’t scale by hand.
- Post by photo. An employer uploads a flyer; a Claude vision model extracts a structured listing — no form to fill.
- AI screening. Uploaded profile/CV photos are moderated by a vision model before they go live — and it fails open, so a model outage never blocks a legitimate user.
- “Mimi,” a support agent. A bilingual (ID/EN) assistant scoped strictly to Valid — grounded in the FAQ, context-aware across turns, told to hand off to a human when unsure.
- ATS CV service. An AI-assisted CV builder that produces recruiter-friendly output.
- Model tiering. Claude Haiku 4.5 for the cheap, high-volume calls (chat, vision moderation, extraction); Sonnet 4.6 reserved for the harder task.
AI earns its place where a human can’t scale — screening, extraction, and answering at 2am.
Architecture
Three apps (TanStack Start + Drizzle/Turso)
public site · seeker app · admin (inbox + moderation)
Claude:
flyer image → vision extract → structured listing
profile/CV photo → vision moderate → allow | block (fail-open)
seeker question → "Mimi" agent → answer | human handoff
model tiering: Haiku 4.5 (volume) · Sonnet 4.6 (hard task)
Key decisions & trade-offs
- Fail open, not closed. Moderation blocks only on a confident “unsafe” verdict; a missing key or a transient error lets the upload through — availability over zeal.
- Reuse one vision path. The same Claude vision call powers both flyer extraction and photo moderation — no extra service, no extra bundle.
- Scope the agent hard. “Mimi” is told exactly what it may discuss and to escalate to a human when unsure — an assistant, not an open chatbot.
- Tier the models. Haiku for the 90% of calls that are cheap and frequent; Sonnet only for the task that needs it.
Result
A job platform where AI carries the work that doesn’t scale by hand — reading a listing off a flyer, screening every upload, and answering seekers around the clock — with humans kept in the loop where it counts.
Masalah
Pencari kerja di Indonesia harus mengarungi lowongan penipuan; pemasang menyerah pada formulir yang ribet; dan tim kecil tidak bisa menyaring tiap lowongan, foto, dan pertanyaan secara manual. Taglinenya menjanjikan “cari kerja lebih cepat, tanpa takut penipuan” — dan itu hanya bisa berskala kalau AI yang melakukan penyaringan.
Pendekatan
Platform tiga-aplikasi — situs publik, aplikasi pencari kerja, dan admin — dengan Claude tersambung tepat ke bagian-bagian yang tidak berskala dengan tangan.
- Pasang lewat foto. Pemberi kerja mengunggah flyer; model vision Claude mengekstrak lowongan terstruktur — tanpa formulir untuk diisi.
- Penyaringan AI. Foto profil/CV yang diunggah dimoderasi oleh model vision sebelum tayang — dan ia fail-open, jadi gangguan model tidak pernah memblokir pengguna yang sah.
- “Mimi,” agen dukungan. Asisten dwibahasa (ID/EN) yang cakupannya dibatasi ketat ke Valid — berpijak pada FAQ, sadar konteks lintas giliran, disuruh menyerahkan ke manusia saat ragu.
- Layanan CV ATS. Pembangun CV berbantuan-AI yang menghasilkan output ramah-rekruter.
- Bertingkat model. Claude Haiku 4.5 untuk panggilan murah bervolume-tinggi (chat, moderasi vision, ekstraksi); Sonnet 4.6 dicadangkan untuk tugas yang lebih berat.
AI mendapat tempatnya di mana manusia tidak bisa berskala — menyaring, mengekstrak, dan menjawab pada jam 2 pagi.
Arsitektur
Three apps (TanStack Start + Drizzle/Turso)
public site · seeker app · admin (inbox + moderation)
Claude:
flyer image → vision extract → structured listing
profile/CV photo → vision moderate → allow | block (fail-open)
seeker question → "Mimi" agent → answer | human handoff
model tiering: Haiku 4.5 (volume) · Sonnet 4.6 (hard task)
Keputusan kunci & trade-off
- Fail-open, bukan fail-closed. Moderasi memblokir hanya pada vonis “tidak aman” yang yakin; kunci yang hilang atau galat sesaat tetap meloloskan unggahan — ketersediaan di atas kegigihan.
- Pakai ulang satu jalur vision. Panggilan vision Claude yang sama menyalakan baik ekstraksi flyer maupun moderasi foto — tanpa layanan tambahan, tanpa bundle tambahan.
- Batasi cakupan agen dengan ketat. “Mimi” diberi tahu persis apa yang boleh ia bahas dan untuk mengeskalasi ke manusia saat ragu — sebuah asisten, bukan chatbot terbuka.
- Bertingkat-model. Haiku untuk 90% panggilan yang murah dan sering; Sonnet hanya untuk tugas yang membutuhkannya.
Hasil
Sebuah platform lowongan tempat AI memikul kerja yang tidak berskala dengan tangan — membaca lowongan dari flyer, menyaring tiap unggahan, dan menjawab pencari kerja sepanjang waktu — dengan manusia tetap di alurnya di tempat yang penting.
/ How it’s done
AI that carries the load
Switch the scenario: a normal photo passes, an inappropriate one is blocked, and an outage fails open — never locking out a real user.
A normal headshot / everyday photo passes.
Fail open, not closed. Moderation blocks only when the model is confident an image is inappropriate; anything else — including an outage — is allowed, so a transient failure never locks out real users. One reused vision path also turns a flyer photo into a structured listing. Model-tiered: Haiku 4.5 for the high-volume calls, Sonnet 4.6 for the hard ones.
Vision does the reading
A Claude vision model turns an employer’s flyer photo into a structured listing, and screens every uploaded profile/CV photo — one reused path, no extra service.
Model vision Claude mengubah foto flyer pemberi kerja jadi lowongan terstruktur, dan menyaring tiap foto profil/CV yang diunggah — satu jalur yang dipakai ulang, tanpa layanan tambahan.
Fail open, not closed
Moderation blocks only on a confident “unsafe” verdict; a missing key or a transient error allows the upload. Availability beats zeal — a real user is never blocked by an outage.
Moderasi memblokir hanya pada vonis “tidak aman” yang yakin; kunci yang hilang atau galat sesaat tetap mengizinkan unggahan. Ketersediaan mengalahkan kegigihan — pengguna asli tidak pernah terblokir oleh gangguan.
Model-tiered for cost
Haiku 4.5 handles the cheap, high-volume calls (chat, moderation, extraction); Sonnet 4.6 is reserved for the harder task. Spend where it matters.
Haiku 4.5 menangani panggilan murah bervolume-tinggi (chat, moderasi, ekstraksi); Sonnet 4.6 dicadangkan untuk tugas yang lebih berat. Belanjakan di tempat yang penting.
Trust is the product
Human-verified listings, a scoped bilingual support agent (“Mimi”) that escalates when unsure, and an ATS-friendly CV builder — across three apps on Drizzle/Turso.
Lowongan terverifikasi manusia, agen dukungan dwibahasa terbatas-cakupan (“Mimi”) yang mengeskalasi saat ragu, dan pembangun CV ramah-ATS — di tiga aplikasi berbasis Drizzle/Turso.