
Building a CV Parser with LLMs: Lessons from Production
Learn how MisuJob built a production-ready CV parser using LLMs to extract insights from resumes & power AI job matching. Discover lessons learned & best practices.
Technical deep dives from building a platform that processes 1M+ job listings daily.

Upload a CV, get matched to 1M+ positions with explanations. How we built the scoring engine and why weights matter more than the model.

Learn how MisuJob built a production-ready CV parser using LLMs to extract insights from resumes & power AI job matching. Discover lessons learned & best practices.

Real patterns from 1M+ active tech listings: Python dominance, remote stabilization, AI/ML explosion, and what it means for job seekers.

Datadog costs $15/host/month. We built a health monitoring system with daily reports for $0. Here's how.

A museum of garbage data from 50+ job sources and the defensive coding patterns that save us daily.

Most websites accidentally block AI crawlers. Here's the definitive list of AI bot user agents and how to configure robots.txt.

Six months running PM2 in production with 1M+ listings and 7 queue workers. Here are the gotchas that bit us.

The exact steps to go from zero to sending verified emails with AWS SES and proper authentication in 30 minutes.

Exactly what you need for valid JobPosting structured data -- from a developer with 19,700+ pages indexed.

We have 55 indexes on a 1M row table. Partial indexes keep writes fast while giving us instant reads.

Cloudflare Pages redirects can't proxy externally. Pages Functions can. Here's how we serve SSR pages for free.

How we switched from .env files to GCP Secret Manager in 15 minutes and why it's worth it for every project.

18 core dump files at 2.5 GB each filled our 30 GB disk overnight. Here's the 30-second fix.

Every request returns in under 50ms with stale-while-revalidate -- even when the cache is expired.

The same job appears 10+ times across sources. Our multi-layer approach catches 95% of duplicates -- and why 100% is impossible.

One VM, one database, and a lot of Cloudflare free tier -- our entire production stack for 1M+ listings.

With 433K pending URLs and a 200/day quota, we'd need 6 years. Here's how we architected around this limit.

How we built 175+ SEO-optimized category pages with raw Express.js and template literals -- zero client-side JS.

Our materialized view blocked all reads for 3 minutes during refresh. One keyword fixed it completely.

OFFSET 50000 takes 30 seconds on a 1M row table. Keyset pagination takes 5ms. Here's why and how to switch.

How 1,275 bulk tasks blocked all high-priority jobs for 18 hours and why queue isolation is non-negotiable.

How we made a single PostgreSQL instance handle 1M+ rows, 55 indexes, real-time matching, and 10K daily writes.

Real-world battle scars from building a system that ingests 1M+ job listings from 50+ ATS platforms.
Technical deep dives and lessons from production. No spam.
User