Background check chaser
A small system that tracks the pre-employment checks for each new starter as separate items with separate owners, works out which one is genuinely blocking a start date, and chases the person who can move it. It never stores a check result and never decides whether somebody can start. Seven posts on the same system — one diagram at a time — with a cost breakdown and an engineering reference at the end.
- 01
A background check chaser on AWS for a few dollars a month
The whole system on one page — a tracker, a predictor and a chaser — plus the boundary that keeps it simple: it holds statuses, never results.
- 02
How a starter’s checks get created
How one accepted offer becomes four independent items with four owners, why the list is per role rather than per company, and the checks that deliberately are not created on day one.
- 03
How a check update arrives
Three ways a check comes back, why the attachment is filed somewhere the system never reads, and why an item is closed by a person rather than by an arrival.
- 04
How the start date prediction works
Why the prediction is three words rather than a percentage, how a chased item is treated differently from a fresh one, and the dependency arithmetic that makes a day-one warning possible.
- 05
How the chasing picks its target
Why chasing the referee beats chasing the candidate, what a good reference chase says, and the escalation that goes sideways to an alternative rather than upward to a manager.
- 06
What the background check chaser costs
About $1 a month. One Bedrock read per check is the only line that grows; the queue, the table, the mail and the storage are rounding errors. Plus the three ways the bill could surprise you.
- 07
Engineering reference: the background check chaser architecture
Same system, drawn purely for engineers. Service names, region, Lambda inventory, IAM scopes, the schemas and the exact model id.
Frequently asked questions
- What is a background check chaser?
- A small serverless system that tracks each pre-employment check for a new starter as its own item with its own owner and expected duration, and chases whoever is holding one up. It tracks status only — never a result — and a person decides whether somebody starts.
- Does it store check results?
- No, and that is a deliberate architectural boundary. It records that a check is outstanding, chased, or complete. What a disclosure actually said lives wherever your HR records live, under whatever controls apply to it, and never passes through this system.
- Why track checks separately rather than as one onboarding status?
- Because they have different owners and wildly different durations. A reference is a referee’s problem and takes days; a disclosure is an agency’s and takes weeks. A single amber status tells you nothing about which one to chase or who to chase.
- Can it stop somebody starting?
- No. It reports which checks are outstanding against a start date and how likely each is to land in time. Whether somebody starts is a judgement with legal and commercial weight, and it belongs to a person.
- What does it cost to run?
- A couple of dollars a month. Hiring volume in a small business is low. See part six.