abizon

Engineering

Automating a process designed not to be

Consular filing has no API, no sandbox and no versioning. Portals change on a Tuesday with no notice. This is a write-up of the systems we built to make that reliable anyway.

Scale

What the systems handle

Portal integrations
Not published yet

None with an API

Requirement edges
Not published yet

Each source-dated

Training outcomes
Not published yet

Rejection model

On-time delivery
Not published yet

Trailing 90 days

Architecture

Six systems that matter

  • Document intelligence

    MRZ extraction, face-geometry checks against 40+ national photo specs, and a classifier that rejects a bad scan while the traveller is still on the upload screen rather than three days later.

  • Filing orchestration

    Every destination is a state machine with its own retry semantics, session handling and business-hours windows. 60+ of them run concurrently against portals with no API and no changelog.

  • Portal drift detection

    Government sites change without warning. Synthetic filings run hourly against every lane and page a human within minutes of a form field moving.

  • Rejection risk scoring

    A model trained on historical outcomes is intended to flag the specific field most likely to sink an application before it is submitted. It is not in production yet.

  • Requirements graph

    Passport nationality × destination × purpose × residency, resolved to a definitive answer in under 200ms. Roughly 40,000 edges, each with a source and a last-verified date.

  • Guarantee accounting

    The on-time promise is enforced in code: a filing that crosses its committed delivery time triggers the refund automatically, with no ticket and no request from the traveller.

Principles

What we've learned the hard way

Treat every portal as hostile infrastructure

Not malicious — just indifferent. It will change its markup, expire your session mid-form and rate-limit you at random. Anything that assumes stability will page someone at 3am. Every lane is built to fail loudly and resume exactly where it stopped.

Never let a model make an irreversible call

Document intelligence decides what to *show* a traveller, never what to submit on their behalf. A false negative wastes thirty seconds of their time; a false positive costs them a rejected application and a non-refundable government fee. The asymmetry sets the threshold.

Make the guarantee mechanical

A promise enforced by a support team is a promise with an escape hatch. Ours is a scheduled job: it reads committed delivery times, compares them to actual issuance, and refunds without anyone asking. Nobody has to argue with us to collect.

We're hiring engineers

Backend, ML and infrastructure roles working on exactly the systems described above.

See open roles