Node.js Developer to Build Backend + API for Scraped Data Pipeline
Orçamento: $3.0 - $5.0
HOURLY / FULL_TIME
⭐ 5.00 (3)
USA
api, node.js, api-development, web-programming
Qualificações preferidas
- Experiência: Intermédio
We're building a matching system. On one side we have a database of providers and their capabilities, built from scraped public data. On the other side, a user submits their requirements through a form. The system's job is to score every provider against those requirements and return a ranked list of the best fits, with a clear reason for each match.
We need a Node.js developer to own the backend: getting the scraped data into a usable shape, designing the capability model, and building the matching engine that sits on top of it.
The data sources will be finalized as we go, so the ingestion layer needs to be source-agnostic — adding a new source should mean writing a small adapter, not rebuilding the pipeline.
The core challenge
Scraped provider data is messy and unstructured. Two providers might describe the same capability in completely different words, or bury it in a paragraph of marketing copy. Meanwhile, users describe what they need in their own language.
The hard part of this project is bridging that gap: turning free-form provider data into a structured capability model that user requirements can actually be matched against. If you have opinions on how to do that well, we want to hear them.
What you'll build
Data pipeline
Source-agnostic ingestion layer with an adapter pattern for adding new sources
Normalization and cleaning of inconsistent, free-text provider data
Deduplication and record merging across sources and across runs
Scheduled refresh jobs with retries, backoff, and failure alerting
Capability model
A structured schema/taxonomy for provider attributes and capabilities
Mapping logic that converts raw scraped text into that structure
A way for us to review, correct, and improve mappings over time
Matching engine
Hard filters for non-negotiable requirements (disqualify providers outright)
Weighted scoring for soft preferences, with tunable weights we can adjust without a redeploy
Ranked results with a match score and a short explanation of why each provider scored the way it did
Graceful handling of thin results — near-misses and relaxed criteria rather than an empty page
API & infrastructure
REST API (or GraphQL — open to your recommendation) for submitting requirements and retrieving ranked matches
Auth and rate limiting for API consumers
Queue-based background workers
Logging, health checks, and alerts when a source breaks or data volume drops unexpectedly
API documentation and a README clear enough to hand off internally
Required skills
Strong Node.js (Express, Fastify, or NestJS)
[PostgreSQL / MongoDB] — real schema design and query optimization, not just CRUD
Experience wrangling messy, inconsistent, real-world data
Queue systems (BullMQ, Redis, or similar)
Docker and deployment to [AWS / GCP / Railway / Render / DigitalOcean]
Clear Git hygiene and readable code
Nice to have
Prior work on search, ranking, recommendation, or matching systems
Text processing, fuzzy matching, or embedding-based similarity
Scraping experience (Puppeteer, Playwright, Cheerio)
TypeScript
Elasticsearch or a vector database
Deliverables
Working backend deployed to [our infrastructure / a provider you recommend]
Source code in our GitHub repo, with tests covering the matching logic
API documentation
A short handoff call or Loom walkthrough
To apply
Please skip the generic proposal. I'll only respond to applications that include:
A similar system you've built — matching, search, ranking, or a data pipeline. What was the hardest part?
How you'd approach the capability model. How do you get messy provider text into something matchable? One paragraph is plenty.
Your recommended stack and one sentence on why.
Start the first line of your proposal with the word "Matching" so I know you read this.
Rough timeline and cost estimate appreciated. Happy to answer questions before you commit to a number.
Abrir na Upwork
AI proposal draft
Generate a short cover letter for this job. Edit before sending.
Sign in to generate an AI proposal draft.
Entrar