ATM operator data backend

Built it · 2021 · Archived

A data backend and dashboard for an ATM operator, built on the card processor's daily reports.

I built this in late 2021, when my commit messages were things like "d", "d" and "r", and they got worse the next year. Every day the backend pulled the card processor's report for each machine, which covered cash loaded, balance, transactions, errors and revenue. The reports went into Postgres, and a GraphQL API served them to a dashboard with a map of the machines. The report pulls and the text messages ran as jobs on a queue.

The dashboard also had a planner for vaulting, which means loading cash into the machines, and it worked out how much should go in each one. By default it looked back at three weeks of transactions and simulated how fast each machine would go through its cash. Then it suggested an amount for each machine in $2,000 steps, because that's the size cash bundles come in.

When the plan was ready, one button texted it to the people loading the cash, with every machine and its amount.

Stack

Infrastructure
BullMQ

Text mePaul Mikulskis

(617) 599-0775

If this sounds like your situation, tell me what's going on.

This number usually answers in a minute or two, in my voice, and every conversation comes straight to me.

Text (617) 599-0775
Email me