Senior Backend / Geospatial Engineer (PostgreSQL/PostGIS, Node.js, RESO API & pgvector)

Posted 2 days ago

Worldwide

Summary

We are building a developer-focused real estate data API (www.apidata.one). The platform serves developers who are building custom IDX websites on behalf of individual real estate agents and brokerages. Each realtor is a Bright MLS-licensed IDX participant; API access is scoped and entitled per realtor account, and developers use those credentials on their client's behalf — this is not a general-purpose public data API. The platform ingests real estate listings from Bright MLS (via the RESO Web API), cross-references properties against spatial boundary datasets (Census TIGER city/county lines, Zillow neighborhoods, and school district attendance zones), and offers hybrid spatial + AI semantic search (pgvector). We are seeking an experienced independent backend engineer with deep expertise in PostGIS spatial indexing, geospatial data ETL, and resilient data ingestion pipelines. Note: We are strictly looking for individual freelance developers. Agencies, outsourcing firms, and AI-templated applications will be immediately declined. Key Deliverables & Responsibilities Spatial Dataset Procurement & ETL (Data Setup) Source, download, and clean raw boundary data from standard repositories (US Census TIGER/Line shapefiles, Zillow open-source neighborhood GeoJSONs, NCES/county school district zones). Write reproducible ETL scripts (ogr2ogr, shp2pgsql, or Node.js streams) to import shapefiles/GeoJSON into PostgreSQL. Normalize all boundaries to a unified CRS (SRID 4326 WGS 84) and handle edge cases like invalid polygons. RESO API Data Ingestion Pipeline Build a resilient, fault-tolerant background sync worker (Node.js/ TypeScript + BullMQ/Redis) to pull from Bright MLS. Handle pagination, rate-limiting, token refresh, and delta updates (ModificationTimestamp) for 100k+ listings. Implement idempotent upserts into PostgreSQL. Spatial Data Optimization (PostGIS) Configure spatial indexing (GiST), bounding box optimizations (&&), and polygon subdivision (ST_Subdivide) for sub-100ms query performance joining MLS points to boundary polygons. Multi-Tenant Entitlement & IDX Compliance Design per-realtor API key issuance and scoping — a realtor is the licensed IDX participant; a developer working on their behalf authenticates with that realtor's credentials, never a shared or generic account. Enforce entitlement at the query layer so one realtor's account can never surface listings, data fields, or licensing terms another realtor isn't entitled to. Implement required IDX handling: broker attribution/disclaimer text on every listing response, opt-out enforcement, and purge of withdrawn/off-market listings per Bright's data retention rules. Flag anything in the above that doesn't match standard RESO/IDX practice — we'll confirm final rules against our Bright vendor agreement together before launch. Hybrid AI Search (pgvector) Generate text embeddings for listing descriptions and store them in PostgreSQL vector columns. Implement hybrid search combining strict SQL filters, spatial containment (ST_Within), and cosine similarity ranking. REST API Gateway Build clean, documented REST endpoints with per-realtor API key authentication, rate limiting, and response caching. Required Qualifications PostgreSQL & PostGIS — extensive production experience with spatial joins, GiST indexes, ST_Within, ST_Intersects, and spatial query optimization. Geospatial ETL — proven experience wrangling raw shapefiles and GeoJSON using GDAL (ogr2ogr, shp2pgsql) and fixing spatial geometry errors. Backend Stack — strong proficiency in Node.js (Express/Fastify/ NestJS) or Python (FastAPI), TypeScript, and Redis. Data Pipelines — proven experience with batch processing, queue workers (BullMQ, Celery, or similar), and third-party API rate limits. Vector Databases — hands-on experience with pgvector or hybrid search implementations. MLS/IDX exposure — prior work with a RESO Web API or RETS feed from any MLS, and a working understanding of IDX display/entitlement rules (attribution, opt-out, data retention). This is the hardest requirement to fake — be ready to speak to it specifically.

  • $2,000.00

    Fixed-price
  • Intermediate
    Experience Level
  • Remote Job
  • Ongoing project
    Project Type
Skills and Expertise
Mandatory skills
PostgreSQL
TypeScript
REST API
Activity on this job
  • Proposals:20 to 50
  • Last viewed by client:yesterday
  • Interviewing:
    1
  • Invites sent:
    0
  • Unanswered invites:
    0
About the client
Member since Nov 19, 2017
  • United States
    Bensalem8:55 PM
  • $1.5K total spent
    15 hires, 1 active
  • Individual client

Explore similar jobs on Upwork

Stapes.js
Google Tag Manager
Google Analytics 4
Amazon SP-API + Ads API ExpertHourly‐ Posted 4 weeks ago
API Development
Amazon Web Services
Amazon S3
Amazon MWS

How it works

  • Post a job icon
    Create your free profile
    Highlight your skills and experience, show your portfolio, and set your ideal pay rate.
  • Talent comes to you icon
    Work the way you want
    Apply for jobs, create easy-to-by projects, or access exclusive opportunities that come to you.
  • Payment simplified icon
    Get paid securely
    From contract to payment, we help you work safely and get paid securely.
Want to get started? Create a profile

About Upwork

  • Rating is 4.9 out of 5.
    4.9/5
    (Average rating of clients by professionals)
  • G2 2021
    #1 freelance platform
  • 49,000+
    Signed contract every week
  • $2.3B
    Freelancers earned on Upwork in 2020

Find the best freelance jobs

Growing your career is as easy as creating a free profile and finding work like this that fits your skills.

Trusted by

  • Microsoft Logo
  • Airbnb Logo
  • Bissell Logo
  • GoDaddy Logo