The problem
Every trade business runs on the same broken loop. Paper timesheets and group-chat "I started at 7" messages don't scale across a field team spread over farmyards, factories and rooftops. Hours get rounded generously, the office loses a chunk of every week deciphering and re-typing them, and nobody can answer a simple question like "who was actually on the Armagh site on Tuesday?"
GEO Electrical had exactly this. They needed a dead-simple way for crews to record their hours — with proof of where they were — and a way for the office to turn that into payroll without re-typing anything.
What we built
ClockIn is a focused web app with two sides: a phone app for the crew and a dashboard for the office. No app-store install — it's a PWA, so workers just "Add to Home Screen" and it behaves like a native app.
On the phone
Each worker picks their name, taps in a 4-digit PIN, and hits Clock In or Clock Out. Every punch captures GPS location, and a running total shows their hours today and this week. Big touch targets, high-contrast text that survives direct sunlight — built for cold hands on a wet morning.

For the office
The dashboard shows a weekly hours grid per employee, drill-down into each shift with clickable GPS map links for every punch, and a one-tap "Download CSV for payroll." The office can add or remove staff, set PINs, and fix a missed punch in seconds.
Built for the real world
Rural jobs lose signal, so ClockIn is offline-first: it loads with no connection, queues punches on the phone with a clear "will send when you have signal" banner, then syncs automatically — and every punch carries a unique id so nothing can ever double-count.
It's also honest about time:
- A forgotten clock-out counts zero hours and is flagged "FIX BEFORE PAYING" rather than silently racking up time; shifts over 16 hours are flagged too.
- Live punches use the server's clock, so changing a phone's time does nothing.
- Offline punches that sync with a wrong device clock are auto-corrected and flagged for review.
- Brute-force lockout protects the 4-digit PINs.
The build
Built on Node.js and Express with a clean vanilla-JS PWA front end and a simple file-backed datastore — deliberately lightweight so it runs on a cheap Node host with a persistent disk. Fast on an old phone on 4G, and engineered so a lost connection never loses an hour.
The rollout — GEO Electrical
We piloted with one GEO crew, refined the clock-in flow off real feedback, then rolled it across the team. Within the first full week the office was reviewing and exporting hours in minutes instead of an afternoon — and every shift finally had a place and a trustworthy time stamped against it. No training session needed; the crews worked it out from the first tap.
The outcome
For GEO: the weekly timesheet scramble became a single CSV, payroll got accurate to the minute, and managers can answer "who's where" at a glance.
For Pixrweb: ClockIn proved out as a real product, not a one-off. It's now a Live App any trade can switch on for £30/month — a one-off £100 setup, then no contract, cancel any time. Same craft we put into our client sites, pointed at a problem every contractor has.
Get ClockIn for your team
- £30/month — every worker, every site.
- One-off £100 setup, then no contract — cancel any time.
- Up and running same day — we set up your account and your crew clocks in that afternoon.
ClockIn is Pixrweb at its best: we built a working tool to solve a real, boring, expensive problem for one trade — then turned it into something every trade can have for the price of a tank of diesel a month.

