जॉब बोर्ड्स GTM इंटेलिजेंस प्लेटफ़ॉर्म
एक स्केलेबल गो-टू-मार्केट इंटेलिजेंस पाइपलाइन जो कई जॉब बोर्ड्स से नौकरी लिस्टिंग एकत्र करती है और उन्हें सिमेंटिक रूप से खोजे जा सकने वाले डेटासेट में बदल देती है। मुख्य अंतर्दृष्टि: अलग-अलग जॉब पेज के बजाय लिस्टिंग पेज (प्रत्येक में ~20 नौकरियां) स्क्रैप करना - इससे ~50,000 अनुरोध घटकर ~2,500 रह जाते हैं, जबकि अधिकांश मेटाडेटा जॉब कार्ड्स से ही निकाल लिया जाता है।
यह कैसे काम करता है
डेटा एक ही स्पष्ट रूप से परिभाषित पथ से होकर गुज़रता है:
स्क्रैपर्स → RabbitMQ → AI संवर्धन → PostgreSQL (pgvector)
Temporal वर्कफ़्लो को व्यवस्थित करता है, और Redis महंगे ऑपरेशनों के सामने कैशिंग परत के रूप में काम करता है।
बिना ब्लॉक हुए स्क्रैपिंग
लिस्टिंग को Puppeteer द्वारा हेडलेस ब्राउज़र चलाकर एकत्र किया जाता है। स्क्रैपर्स रेट लिमिटिंग और अनुरोध विलंब, यूज़र-एजेंट रोटेशन, और हेडलेस ब्राउज़र सिमुलेशन के ज़रिए नज़रों से बचे रहते हैं - लोड को बोर्ड्स के बीच बाँटते हुए ताकि कोई एक स्रोत अधिक भार न झेले।
AI संवर्धन
प्रत्येक नौकरी को समृद्ध किया जाता है और सिमेंटिक सर्च के लिए एम्बेड किया जाता है:
- एम्बेडिंग्स
sentence-transformers/all-MiniLM-L6-v2का उपयोग करती हैं (384 डाइमेंशन, CPU पर ~40ms), जो pgvector एक्सटेंशन के ज़रिए PostgreSQL में संग्रहीत होती हैं। - टेक्स्ट-टू-SQL जनरेशन उपयोगकर्ताओं को प्राकृतिक भाषा में डेटा पूछताछ करने देता है।
- Redis में क्वेरी कैशिंग बार-बार होने वाले LLM टोकन खर्च को घटाती है।
विकास के दौरान पाइपलाइन एक स्थानीय Ollama मॉडल पर चलती है (शून्य LLM लागत)। उत्पादन में लागत चुने गए मॉडल के अनुसार बढ़ती है - 50,000 नौकरियों को समृद्ध करना लगभग 140M इनपुट टोकन है, GPT-4o mini पर ~$25 से लेकर Claude Sonnet पर ~$600 तक।
1M+ रिकॉर्ड्स तक स्केल करने के लिए निर्मित
आर्किटेक्चर डिज़ाइन के अनुसार क्षैतिज रूप से स्केल होता है: RabbitMQ बैकप्रेशर संभालता है, Temporal वितरित कार्य को समन्वित करता है, कंज़्यूमर कई रेप्लिकाओं के रूप में चलते हैं, और pgvector इंडेक्सिंग व Redis रिज़ल्ट कैशिंग भार के तहत भी क्वेरीज़ को तेज़ रखते हैं। पूरा सिस्टम एक ही कमांड से शुरू होता है - docker compose up -d --build डेटाबेस, मैसेज ब्रोकर, वर्कफ़्लो इंजन, कैश, स्थानीय LLM, API और फ्रंटएंड को एक साथ चालू कर देता है।
स्टैक
- बैकएंड और डेटा: Python, PostgreSQL + pgvector, RabbitMQ, Redis, Temporal, Ollama
- फ्रंटएंड और API: TypeScript, Node.js API सर्वर, React UI
- स्क्रैपिंग: Puppeteer, यूज़र-एजेंट रोटेशन के साथ रेट-लिमिटेड कस्टम स्क्रैपर्स
- इन्फ्रास्ट्रक्चर: Docker और Docker Compose, PL/pgSQL डेटाबेस फ़ंक्शन, शेल स्क्रिप्टिंग