Service 03

Browser automation & data engineering

Scheduled collection from websites and portals, enrichment, ETL and data pipelines that refuse bad data instead of passing it on. The raw material for decisions and for every other system.

Illustration · sample data

An analyst sits at her desk in the evening under a single lamp, holding a printed spreadsheet marked with highlighter.

What we build

Clean data from places with no API.

A lot of useful data sits behind a login, inside a portal or on a page that changes every week. We collect it on a schedule, check it, clean it and deliver it where the rest of your systems can use it.

  1. Scheduled collection from websites and portals

    Browser automation that signs in, finds what you need and collects it on a schedule, from supplier portals, marketplaces and public sites, where their terms allow it. When a page changes its layout, the run stops instead of collecting the wrong thing.

  2. Pipelines into your database or warehouse

    Data moves from source to destination through steps that are written down and repeatable. It lands in PostgreSQL, a warehouse, Airtable or a spreadsheet, in the shape the next system expects.

  3. Validation that protects good data

    Every run is checked before it is written: required fields, sensible ranges, duplicates and counts against the last run. A bad run is held back, so it never overwrites yesterday’s good data.

  4. Enrichment and matching

    Records from different sources joined into one. A company matched across three lists, a product matched to its listing, a request matched to what you have in stock.

How it runs

Bad data stops at the door.

A pipeline that runs every night has to be trusted when nobody is watching. So each run is checked, logged and compared with the last one before anything is written.

  • Monitoring

    Each run records what it collected, from where and how much. A run that brings back far fewer rows than usual is flagged, even when nothing technically failed.

    Sample log line:RunningSupplier portal · nightly run · 1,204 rows

  • Retries

    Sites time out, sessions expire and pages load slowly. Each step tries again after a pause and picks up where it stopped, and a run writes nothing until it has passed its checks.

    Sample log line:RetryingSession expired · signing in again · attempt 2 of 3

  • Human checkpoints

    When a source changes shape or a run fails validation, the data is held and a person decides what happens: fix the mapping, accept the change or skip the run.

    Sample log line:Needs your OKRun held · row count below usual · waiting for Ana

  • Handover

    The pipelines, schedules and validation rules are documented, versioned and running on your infrastructure. Adding a source follows a pattern your team can repeat.

    Sample log line:DonePipelines moved to your servers · 4 schedules

Log lines are illustrations · sample data

In our work

Where it shows up in our work.

  • WTB RadarOur product

    Reading WhatsApp groups, matched against stock

    WTB Radar reads the WhatsApp groups a dealer turns on and pulls each buyer’s request out of a busy chat into fields like reference, model and budget. Then it checks the request against the dealer’s own stock in Airtable.

    See how it works

Questions

Asked about this kind of work.

All questions

  • What happens when something breaks?

    The systems we build log every run, retry what can safely be retried and raise an alert when a person needs to look. A failure is reported, not hidden.

  • Who owns what you build?

    You do, once the work is paid for. Systems run on your accounts, and the code, workflows and documentation are handed over when the work is done. A product or venture partnership may set different terms in its signed agreement.

Start here

Tell us where the work gets stuck.

A free 30-minute call on Google Meet with the people who would build it. Walk us through the work as it happens today, and we’ll tell you plainly whether we can help.

Book a call

Free discovery call · 30 minutes · Google Meet

Book a call

Free discovery call · 30 minutes · Google Meet

Open in Calendly

Loading the calendar…