Your documents already know the answer. We build the pipeline that finds it.

Every pipeline we build is bespoke: shaped around your sources, your schema, and your rules. Underneath it is a standard foundation we bring to every engagement, so you get custom work without a custom science project. It runs on infrastructure you control, and you can see where the data goes.

The four layers

Infrastructure you control

  • Public web
  • Documents
  • Databases
  1. Collect and ingestClean, searchable text with lineage
  2. ExtractTables you can query, review, and audit
  3. IndexVector store and search
  4. AnswerChat and agents that cite your documents
How the four layers fit together
  1. Collect.

    Gather public and authorized web sources reliably, with AI handling the messy parts.

  2. Ingest.

    Turn PDFs, scans, Office files, and email into clean, searchable text with lineage.

  3. Extract.

    Pull the fields that matter into tables you can query, review, and audit.

  4. Answer.

    Chat and agents that cite your documents instead of guessing.

Most AI projects stall at layer one or two. That's the part we like.

Bespoke where it matters. Standard where it counts.

Built for you

  • Your sources, formats, and edge cases
  • Your extraction schema and validation rules
  • Your permissions, review steps, and approval gates
  • Your systems for output: the databases, reports, and apps you already run

Standard on every build

  • Containerized services you can run on-prem or in private cloud
  • Lineage from every answer and value back to its source page
  • Logging and monitoring for each pipeline step
  • Human review for low-confidence or high-stakes results
  • A test set and accuracy measurement before anything scales
  • Documentation and handoff so your team can run it

You get a pipeline that fits how your organization actually works, built on parts we've proven before. That makes it faster to stand up, easier to audit, and easier for your team to maintain.

Web data collection that survives real websites.

Websites change layouts, hide data behind scripts, and paginate in creative ways. Brittle scrapers break quietly and leave gaps nobody notices until a report is wrong. We build collection systems that use browsers the way a person does, then use language models to read what came back: finding the table, classifying the page, and flagging when something looks off.

  1. SchedulingRetries and a clear log
  2. Terms and rate limitsPublic and authorized sources
  3. Browser-based collectionPlaywright or Selenium, in containers
  4. AI page understandingClassify, locate, normalize
  5. Change detectionAlerts when a source shifts
  6. Full-text captureFed into your ingestion pipeline
How web collection works

What we build

  • Browser-based collection with Playwright or Selenium, running in containers so it scales up and down
  • AI page understanding: classify pages, locate the content you care about, and normalize it without hand-written rules for every site
  • Change detection and alerts when a source's structure or content shifts
  • Scheduling, retries, and a clear log of what was collected, when, and from where
  • Full-text capture fed straight into your ingestion pipeline

Edgett has built browser-based scraping platforms in Docker, a custom proxy layer for collection at scale, and serverless collectors in Node, mostly to automate document collection that teams used to do by hand.

Who it's for

Market-access and pricing teams, compliance monitoring, research groups, and anyone whose analysts still copy and paste from websites.

We build for public and authorized sources and design with each site's terms, rate limits, and your legal team's guidance in mind.

From a pile of PDFs to a system you can search.

The hard part of AI over documents isn't the model. It's the scanned fax from 2009, the 400-page filing, the spreadsheet saved as a PDF, and the email with six attachments. We build ingestion pipelines that handle the mess: OCR where it's needed, layout-aware parsing where it matters, page classification, deduplication, and metadata that tracks every chunk back to its source page.

  1. IntakeFile shares, email, cloud storage
  2. OCR and layout parsingScans, forms, and tables
  3. Classification and deduplication
  4. Chunking and embeddingTuned to your documents
  5. Index with lineageSource file, page, and version
How document ingestion works

What we build

  • Intake from file shares, email, document management systems, cloud storage, and the web collectors above
  • OCR and layout parsing for scans, forms, and tables, including Azure Document Intelligence or open-source options depending on where the data can go
  • Page and document classification so a 300-page packet becomes labeled sections
  • Chunking and embedding tuned to your documents, with local embedding models when the data shouldn't leave the building
  • Lineage: every passage keeps its source file, page, and version

Edgett has built OCR integration and custom page classification for personal-injury claim review, an Elasticsearch-based document management system, and automatic PDF highlighting that sped up review of medical and legal records.

Who it's for

Legal and claims teams, health-system operations, finance and audit, and any organization with a document backlog nobody can search.

Pull the fields that matter, and show your work.

Search finds the document. Extraction turns it into data you can use. We design extraction pipelines that combine document AI, language models, and plain rules to pull specific fields into a schema you define, then route anything uncertain to a person before it reaches a report.

  1. Document
  2. Schema-first LLM extractionYou define the fields, types, and rules
  3. ValidationRules and confidence scoring
    Human review queueLow-confidence or high-stakes values
  4. Values with citationsEach points to its page and passage
  5. Output to your systemsThe databases and reports you already run
How structured data extraction works

What we build

  • Schema-first extraction: you define the fields, types, and validation rules
  • LLM extraction with source citations, so every value points to the page and passage it came from
  • Confidence scoring and human review queues for low-confidence or high-stakes values
  • Enrichment and normalization across sources, such as entities, dates, amounts, and codes
  • Output to the systems you already run: SQL Server, PostgreSQL, MongoDB, Snowflake, Elasticsearch, or a spreadsheet

For our customer Ebullience, Palm Hill built a platform that extracts executive compensation from SEC filings using retrieval and multi-step extraction. Customer work: Ebullience

Edgett also led a contract validation product that checked agreements between drug manufacturers and health insurers.

Who it's for

Finance and investor research, contract and compliance review, healthcare market access, and claims processing.

Answers that cite your documents, not the internet.

A chat window on top of a general model will answer confidently whether or not it knows. Retrieval-augmented generation (RAG) fixes that by searching your own documents first and answering from what it finds, with citations. We build the full stack: the vector store, the retrieval logic, the chat or agent interface, and the guardrails, running on infrastructure you choose.

  1. Question
  2. Permission-aware retrievalOnly documents they're allowed to see
  3. Hybrid search and re-rankingKeyword and semantic
  4. Answer with citationsFrom your own documents
    Tool callsHuman approval on anything consequential
How chat and agents answer from your vector store

What we build

  • Vector search on Elasticsearch, PostgreSQL with pgvector, or a dedicated vector database, matched to your existing stack
  • Hybrid retrieval that combines keyword and semantic search, with re-ranking for precision
  • Permission-aware retrieval, so people only get answers from documents they're allowed to see
  • Chat assistants (see NoPilot) and agents that can take actions through tools, with human approval on anything consequential (see WolfPackAI)
  • Evaluation sets and answer logging so you can measure quality instead of guessing

Edgett created Blazor Chat, an open-source interface for local language models with retrieval-augmented generation, and has run open-weight models since early 2023.

Who it's for

Law firms that want answers from matter files, health systems with policy and procedure libraries, banks with internal knowledge bases, and operations teams tired of searching six systems.

If the answer can't point to a page, it shouldn't be in the answer.

Where your data goes

  1. Collection
    Optional cloud: Managed cloud workers
  2. OCR and parsing
    Optional cloud: Azure Document Intelligence
  3. Embeddings
    Optional cloud: Cloud embedding APIs
  4. Vector store
  5. Language model
    Optional cloud: Closed models in your cloud account
Where your data goes
Where your data goes
LayerDefaultOptions
CollectionRuns on your servers or private cloudManaged cloud workers if you prefer
OCR and parsingOpen-source, on your infrastructureAzure Document Intelligence or similar cloud services, when you approve it
EmbeddingsLocal embedding modelsCloud embedding APIs in your own cloud account
Vector storeYour database, your serversPrivate cloud
Language modelOpen-weight models on your hardwareClosed models through your own cloud account

We'll tell you plainly which step, if any, sends data outside your walls, and we can design it so none do.

How an engagement runs

Discovery, then architecture, then deploy, then optimize. We start with a small, real document set and one question the business actually needs answered. We tailor the pipeline to it on our standard foundation, and we measure accuracy before we scale.

Common questions

Is every pipeline custom-built?

The parts that touch your data are: sources, schema, rules, permissions, and outputs. The foundation underneath is standard on every build, including containerized deployment, lineage, logging, human review, and testing. That's why it's faster to stand up and easier to maintain than a from-scratch project.

What's the difference between RAG and fine-tuning?

RAG searches your documents at the moment a question is asked and answers from them, so new documents count right away and answers can cite sources. Fine-tuning changes the model itself, which is slower to update and harder to audit. Most business document work starts with RAG.

Can this run entirely on our own servers?

Yes. Collection, OCR, embeddings, the vector store, and open-weight language models can all run on-prem or in your private cloud. Where a cloud service would help, we'll show you the tradeoff and you decide.

Do you work with scanned documents and handwriting?

We work with scans, forms, and tables every day. Handwriting quality varies, so we test on your real samples and route uncertain extractions to a person.

How do you keep extracted data accurate?

Every value links to its source passage, gets a confidence score, and goes through validation rules. Anything uncertain or high-stakes goes to human review before it's used.

Is AI web scraping legal?

It depends on the source, its terms, and what you collect. We build for public and authorized sources and work within your legal team's guidance.

Which vector database should we use?

Usually the one closest to what you already run. Elasticsearch and PostgreSQL both handle vector search well, and we only add a dedicated vector database when scale calls for it.