Skip to content
Search jobs inside your AI agent. Claude, ChatGPT, Gemini, Cursor and Grok
Connect

Service 1st Bpm

NewBe an early applicant

Python Automation Developer (Playwright, Web Scraping and Local LLMs)

Posted Updated 1 view
Discussion

Description

Python Automation Developer (Playwright, Web Scraping and Local LLMs)


Contact:- rajiv.phanse@service1stbpm.com


We are looking for a Python Developer to expand the coverage of our title-search automation platform. The platform uses Playwright to retrieve records from county recorder and public-record portals. It validates the data it collects, and it uses locally hosted LLMs to extract text and generate reports from search packets. You will build and maintain new portal and jurisdiction modules and the extraction and validation pipelines behind them. You will own these from design through production.

Key Responsibilities

  • Build and maintain Playwright-based scrapers for county recorder, assessor, and other public-record portals, including login flows, dynamic pages, pagination, and downloads.
  • Make scrapers resilient to site changes, with retries, session handling, rate limiting, and clear logging.
  • Extract text and structured fields from PDF search packets and scanned documents (parsing, OCR, layout handling).
  • Use local LLMs (LM Studio/Bionic, Ollama, or Unsloth fine-tuned models) to extract fields, classify documents, and generate summaries and reports. This includes prompt design and structured JSON output.
  • Using the extracted content implement RAG system in the production pipeline.
  • Validate extracted and scraped data against source documents, with rule-based checks and LLM-assisted checks. Flag mismatches, missing records, and low-confidence results for review.
  • Expand coverage by adding new counties and jurisdictions, and by handling new document types and portal variations.
  • Build evaluation sets from real packets, and measure and improve extraction accuracy.
  • Write unit and regression tests for parsers, scrapers, and validation logic. Use fixtures so tests do not depend on live portals.
  • Document modules, portal quirks, and assumptions so the team can maintain them.
  • Work with domain experts (title examiners and abstractors) to turn their rules into reliable code.

Required Skills and Qualifications

  • 3-5 years of Python development, including at least 2 years of web scraping or browser automation.
  • Hands-on Playwright experience (Selenium or Puppeteer is acceptable if Playwright is learned quickly), including async Python.
  • Strong skills in HTML/DOM parsing, network inspection, and handling dynamic, session-based websites.
  • Experience with PDF and document text extraction (PyMuPDF, pdfplumber, Tesseract or other OCR).
  • Practical experience running local LLMs with LM Studio (Bionic), Ollama, Unsloth, or similar tools, and prompting them for extraction and report generation.
  • Data validation skills: regex, schema validation (Pydantic), fuzzy matching, and normalization of names, dates, and legal descriptions.
  • Good command of pandas, JSON, and Excel/CSV output, and comfort with Git.
  • Ability to debug flaky, rate-limited, or inconsistent data sources methodically.

Preferred Skills

  • Fine-tuning small models with Unsloth (LoRA/QLoRA) on domain-specific data.
  • Experience with GPU and quantized model setups (GGUF, llama.cpp) and tuning throughput on limited hardware.
  • Knowledge of real estate, title, or land-records concepts such as chain of title, deeds, mortgages, liens, and legal descriptions.
  • Experience building evaluation harnesses or golden datasets for LLM extraction.
  • Familiarity with desktop or CLI tooling (Tauri, Electron, or packaged Python apps) and with scheduled or batch pipelines.
  • Experience with compliant scraping practices, including respecting terms of use and rate limits.

What Success Looks Like

  • New jurisdictions go live quickly, and their extraction accuracy is measured and tracked.
  • Packet processing needs less manual review, and the team can trust the validation flags.
  • Models and prompts improve by iteration against real data, not by guesswork.




Skills

Apply

See also