作者打造 Interview Command Center,整合求職追蹤與面試準備
I Got Tired of Losing to ATS Robots in the UAE Job Market, So I Built My Own Career Command Center
Azad Mohamed 打造並開源 Interview Command Center,這是一款可自託管的求職工具,整合職位追蹤、自動申請、履歷調整和麪試準備。它可按職位匹配度評分並檢查履歷的 ATS 關鍵詞;自動申請遇到 CAPTCHA 或登入時會停止,也不會猜答案或重複投遞。履歷調整隻會改寫或重排內容,不會虛構經歷;未設定 AI 時,追蹤、日誌、搜尋、複習和排程仍可使用。
"I don't always apply for jobs. But when I do, I apply to 47 of them before lunch and hear back from zero."
Let me be honest with you. Getting an interview in the UAE right now is hard. Not "a bit competitive" hard. "Your CV went into a black hole and the black hole didn't even send a rejection email" hard.
This post is about how that frustration turned into a side project, and how that side project turned into the tool I now use every single day of my job search.
😩 The problem: the job hunt is now a full-time job
If you're job hunting in the UAE (or honestly anywhere in 2026), you probably know this loop:
- There are too many places to look. LinkedIn, Indeed, Bayt, GulfTalent, Naukrigulf, plus every company's own career page. Each one has its own login, its own form, its own "upload your CV and then type your CV again manually" experience.
-
Every JD wants a different CV. ATS systems scan for keywords. The same experience written slightly differently is the difference between "shortlisted" and "auto-rejected by a robot at 3 AM." So you end up with
CV_final.pdf,CV_final_v2.pdf,CV_final_REAL_this_one.pdf... - You lose track. Which company did I apply to? Which CV did I send? Did that recruiter reply? Was the interview Tuesday or Thursday?
"My spreadsheet of job applications had more tabs than my browser. And that's saying something."
🤯 And then you finally get the interview...
Here's the part nobody talks about.
A lot of us build with AI now. Copilot, Claude, Cursor: they're part of how modern developers ship. That's fine. That's the job now.
But then you sit in a system design round and the interviewer asks:
"So, why did you choose a message queue here instead of a direct call?"
And your brain goes: "...because the AI suggested it and it worked?" 😅
Being able to explain architecture, trade-offs and decisions out loud is a separate skill. And you can't build it by reading random "Top 50 Interview Questions" blog posts. You build it by practicing on the questions you actually get asked, and fixing the gaps you actually have.
"Interviewer: Walk me through your architecture. Me: walks out of the room. Not what they meant, apparently."
🛠️ So I built Interview Command Center
I didn't set out to build a product. I built it for myself, because I needed one place to:
- track every application and interview,
- auto-apply to jobs that actually match me,
- tailor my resume for each JD so it survives the ATS,
- practice coding the way interviews are run now,
- and prepare a crash course based on the exact job description and round.
It's open source, self-hosted, and it works with whatever AI you have (or none at all).
👉 GitHub: github.com/azadhmhd/interview-command-center
Here's everything it does.
✨ Features (all of them, because I'm proud of my child)
1. 📋 Application tracker
Table, Kanban and timeline views. Custom statuses, duplicate detection (no more applying to the same role twice, oops), contacts, documents, which CV version went to which application, follow-up reminders, and you can import a job post straight from its URL.
2. 🤖 Auto Apply
This is the one that saves me hours every week.
- Finds jobs by your role and location through Google Jobs and Jooble, covering LinkedIn, Indeed, Bayt, GulfTalent, Naukrigulf and company pages. Searching "UAE" also covers every emirate: Dubai, Abu Dhabi, Sharjah, Ajman...
- Watches company boards directly (Greenhouse, Lever, Ashby, SmartRecruiters, Workable), and you can even paste job alert emails.
- Scores each job with reasons and hard blockers, so you know why it's a fit (or why it isn't).
- Builds an apply kit from answers you've saved once.
- Checks your CV's ATS keyword match before applying, and tailors a copy if the score is low.
- Applies through your own browser (Claude in Chrome or a local runner). It works on forms that reject normal bots.
- Guardrails built in: it stops on CAPTCHAs and logins, never guesses answers, never applies twice, and keeps proof of every submission.
- A live Mission Control page shows the whole pipeline. Recruiter contacts get saved for later outreach.
"Auto Apply doesn't get tired, doesn't get sad, and doesn't refresh its inbox every 4 minutes. It's everything I aspire to be."
3. 📄 Resume builder with AI tailoring
Unlimited resumes and job-specific copies with the same design, a live A4 preview and PDF export. AI tailoring per job may only reword and reorder. It never invents facts. Your CV stays honest; it just speaks the JD's language.
4. 📓 Interview journal
Every company gets its own sequence of rounds. You record:
- the exact questions you were asked,
- your original answer (locked once saved, so no rewriting history 😄),
- missed concepts, mistakes, code, follow-ups,
- and then improved, approved answers.
Paste your messy post-interview notes and it splits them into questions automatically.
5. 🎓 Crash courses built from the JD
This is my answer to the "explain your architecture" problem. Give it the job description, round type, deadline, your CV and your recorded weak spots, and it builds:
- prioritised topics (with the reason each one matters),
- a time-boxed schedule,
- lessons and model answers,
- flashcards and mock interviews,
- and readiness tracking so you know if you're actually ready.
"Crash course" because that's exactly what happens to my confidence 2 days before an interview. Now at least it's a planned crash.
6. 💻 Coding practice
Multi-stage problems in the style of modern AI-assisted coding interviews, plus pattern sections, in Python or JavaScript. Tests run in your browser, and an AI review scores you on correctness, approach, verification, code quality and communication. Yes, communication. Because "it works on my machine" is not an explanation.
7. 🧠 Personal knowledge base + spaced repetition
Full-text search across every interview you've ever done. If two companies ask the same question, it links to one entry. A spaced-repetition revision queue makes sure you don't forget what you learned the hard way.
8. 🎯 Practice & evaluation
Rubric scoring on correctness, completeness, depth and clarity. Model answers stay hidden until you try first (no cheating, I'm watching you). Retry and compare with your previous attempts.
9. ⏰ Automatic prep schedule
Milestones at 3, 2 and 1 day before the interview and on the day itself, with quiet hours, plus a prompt after the interview to capture what happened while it's still fresh.
10. 🔌 Bring your own AI
Use any OpenAI-compatible model (Ollama, LM Studio, vLLM, hosted providers), or your existing Claude Code / Cursor subscription. No new subscription needed.
11. 🏷️ Honest labels
Every question is marked as actually asked, public report, AI prediction or practice. Facts pulled from your CV stay "AI-inferred" until you confirm them. No hallucinated confidence.
12. 🔒 Private by default & works offline
Self-hosted, multi-user workspaces, per-record sharing, audit log, export and account deletion. And with no AI configured at all, tracking, journaling, search, revision and scheduling still work.
🧱 Tech stack (for my fellow nerds)
- Frontend: Next.js 16
- API: NestJS 11
- Database: PostgreSQL 17 (the source of truth, so nothing is lost on restart)
- Queue: Redis + BullMQ, with a separate worker for background tasks and scheduling
- Storage: MinIO / S3 or local disk
- One
docker compose upand you're running.
git clone https://github.com/azadhmhd/interview-command-center.git
cd interview-command-center
cp .env.example .env # set APP_ENCRYPTION_KEY
docker compose up -d --build
Open http://localhost:3000 and you're in.
🙏 I need your help (yes, you)
I built this for my own job search, but I know I'm not the only one stuck in this loop. So:
- Use it. It's free and open source.
- Break it. Then tell me how you broke it.
- Give me feedback. What's missing? What's annoying? What would make your job search easier?
- Contribute. PRs are very welcome.
It's still under construction. It's in the "we'll get back to you" stage of its own hiring process. 😄 But with your feedback we can make it much better, and help each other land bigger opportunities and build better futures.
"Rejection is just redirection. Usually towards another 'Apply Now' button."
⭐ If this sounds useful, star the repo, try it out and drop your thoughts in the comments or open an issue:
👉 github.com/azadhmhd/interview-command-center
Let's get hired. 💼
Are you job hunting in the UAE or the Gulf right now? What's the hardest part for you: getting the interview or surviving it? Tell me in the comments. 👇
來源:DEV Community · dev.to





