Jobsite punch clock

One tap in, one tap out — and the hours come off two real moments instead of a Friday guess.

The operating system for post-frame and barndominium builders.

Part of Crew Pay & Payroll
What it is

A man taps Clock In on his field link and taps out when he leaves. The hours are worked out from the two moments, not typed from memory. The job comes off the work he has accepted, and the stage is stamped onto the entry as he clocks in — so the hours land on Framing at the Wenger shop rather than on nothing in particular.

Also called: clock in clock out · crew timesheet · time tracking for crews · hours from the field

See it, piece by piece
01

Hours become two timestamps instead of a Friday guess

Try it

One tap in, one tap out, and the hours are worked out from the two moments when the shift closes. The count runs on the button itself, to the second — ON THE CLOCK · 3h 12m 08s — and the time recorded is the time on his phone when he tapped. With no signal the tap is saved on the phone and sent later; once it reaches the office, a dead battery or a swapped phone does not lose the day. Everything else on that screen — how the link reaches his phone with no password, and what it does on one bar — is on the crew app.

Ridgeline Post Frame
Ray Wenger — 40×60 Shop
On the clock
3h 12m 08s
Saved on this phone — it’ll send itself when you get a signal. You can close this.
On the clock · 3h 12m 08s
Ray Wenger — 40×60 Shop
Framing
Add Photo
Blocked
The count runs on the red button, to the second — and the shift is saved on the phone until there is a signal. Real screen · sample data.
Without it

Friday afternoon a man works backwards through four jobsites in his head, lands on a number, and that number is what you pay him.

Why we built it

Everything downstream was left alone on purpose — approvals, payroll and the job's costs read the same hours figure they always did, except now it comes off two recorded instants instead of a recollection. What a man writes down on Friday about last Tuesday is a guess, and you are the one paying it.

02

Every hour lands on a job and on a stage

The job comes off the crew's accepted work — one job needs no question, several show as cards, and a concrete crew swipes between its jobs — and the stage is stamped onto the entry as he clocks in. The result is not 40 hours this week. It is eight hours on Framing at the Wenger shop. That difference is what separates a payroll number from a job-cost number.

Crew portal — Which job are you on?
Marlin Zook
Which job are you on?
Wenger 40×60 Shop
Stage 3 of 7 · Framing
Stoltzfus Equipment Storage
Stage 2 of 6 · Site prep
Beiler Barndominium
Stage 5 of 9 · Roof steel
Cancel
One card per job, each carrying the stage the hours will land on. Real screen · sample data.
Without it

The shop lands eleven grand over on labour and nobody can say whether framing or the roof steel is where it went.

Why we built it

Asking a man to file his own hours against a stage guarantees the quickest option every time, so he is never asked — the job is the only question put to him, and only when his crew genuinely has more than one running.

Sound familiar?“guys guess their hours at the end of the week”
03

You cannot clock into a job you have not accepted

Try it

When the office puts a crew on a job and names who is going, each of those people accepts the job on his own phone, and only then is it somewhere he can clock in. With a new job still waiting, Clock In says Accept your new job first — it's under the buttons. The card he accepts, with the dates, the address and the plans, is part of the crew app; a subcontractor crew instead signs the acceptance contract.

Ridgeline Post Frame
No job yet
Sunrise
7:09 AM
You have a new job. Accept it so the office knows you’ve seen it.
You have a new job below. Accept it, then you can clock in.
Clock In
Nothing to clock into until you accept your new job.
Add Photo
Blocked
New project
Dana Hoover — 36×48 Garage
Your part
Concrete
Dates
Mon, Oct 12 → Wed, Oct 14
Address
2210 Furnace Hill Rd · Map
Slab
6" concrete pad, 36×48
Plans
Hoover slab plan.pdf
Going
Mark Zook ✓, Levi Esh, Nate Stoltzfus (lead) ✓
Office
(717) 555-0140
The new job waiting for his Accept — until he taps it, there is nothing to clock into. Real screen · sample data.
Without it

A crew logs four days onto a build that was offered to them and quietly handed to somebody else, and the first anyone knows is a labour line on the wrong job.

Why we built it

An offered job showing up as somewhere to clock in would let hours pile onto work nobody agreed to take, and you would find out from a cost report. Accepting it on his own phone means he chose it, and nobody can say the job went to the wrong number.

04

The stage is stamped when he taps in, not when he taps out

The entry freezes the stage the job was on at that moment. If the office moves the build from Framing to Roof steel at two in the afternoon, the morning's hours stay on Framing, because that is the work that was being done. Which crew owns that stage was settled in the office, where each stage is given to a crew in the job's labour panel.

Project Phases
Project phases3 of 6 doneNow: Siding / Roofing1 behindManageAdd Phase
Drag the grip on the left of any stage to reorder the build.
Permitting
Jul 27 – Aug 8 • 12 days4/4
Done
Concrete
Aug 8 – Aug 13 • 5 days6/6
Done
Material Delivery
Aug 13 – Aug 17 • 4 days4/4
Done
Post Set
Aug 17 – Aug 26 • 9 days3/6
Active
Siding / Roofing
Aug 26 – Sep 3 • 8 days0/11
Planned
Final Payment
Sep 3 – Sep 6 • 3 days0/5
Planned
The stage list the entry takes its stamp from. Real screen · sample data.
Without it

The schedule advances at lunchtime and eight hours of framing turn up on the roof steel line, where nobody ordered them.

Why we built it

Reading the stage at clock-out — or worse, at report time — makes yesterday's hours change meaning every time the schedule moves, and a labour number that shifts on its own is a number nobody defends in a meeting. The cost of freezing it is that you cannot re-cut history later. That is the trade, and it is worth making.

05

Location is stamped, and never enforced

Where he clocked in and where he clocked out are both recorded when the phone will give them up, the same way a jobsite photo carries its coordinates. A denied permission, a slow fix, or a steel building that swallows the signal simply means no pin — it never refuses a clock-in and nobody loses a day's pay to it. A hard fence blocks the man when the technology fails. This records the evidence and leaves the judgement with you.

What the photo filed itself as
What the photo filed itself as

Six fields, none of them typed by the man holding the phone.

JobHostetler Equipment Shedfrom the shift he is clocked into
StageRoof & Sidingthe stage the job is on right now
Taken byNate Ottingerthe crew link he opened — no login
Taken atAug 26, 2026 · 2:14 PMwhen the phone took it, not when it uploaded
Where40.0361° N, 76.2447° Wrecorded, never enforced
Visible toCustomerbecause he pressed the second button
The Where row on a field record — coordinates kept, nothing enforced. Real screen · sample data.
Without it

Six weeks on, an hour gets questioned and all anyone has is two people's memory of where the truck was parked that morning.

Why we built it

Recording both ends means an odd one — a clock-in half a county from the site — stands out on its own, while every ordinary day passes with nobody asked to prove they were there. The trade is that a man who wanted to cheat it still can; what he cannot do is cheat it invisibly.

Sound familiar?“timesheets are always wrong and always late”
06

A double tap cannot become a double shift

Try it

Clocking in while already on the clock hands back the shift that exists rather than opening a second one, and clocking out with none open comes back as already done. On a bad connection people tap twice. Everything that adds hours up afterwards — the labour rollup included — is then arithmetic on shifts that cannot overlap.

Hours by person
Labour paid
$102,113
3 jobs not on a pooled model
Cost per crew-day
$1,946
over 52 crew-days
Against the day rates
+$5,893
surplus earned back by finishing early
Hours logged
2,454
8 people, 319 days on site
Hours by person
Crew ACrew BCrew C
Marlin412h
Wes388h
Dwayne361h
Curtis344h
Nelson298h
Reuben271h
Ivan235h
Aaron145h
Marlin Zook
Crew B · 52 days over 6 jobs
Share of crew hours16.8% of 2,454h
Earned$26,000.00
Actual per day$500 vs $500 at Tier 1
Average day7.9h
The totals a second open shift would quietly inflate. Real screen · sample data.
Without it

One tap on a single bar of signal, nothing happens, he taps again — and a fortnight later payroll is sixteen hours heavy with nothing to say where they came from.

Why we built it

The second tap is not met with an error a man on a roof would have to interpret; he is handed back the shift he already has, so the screen tells him the truth and there is nothing left to reconcile. The database carries a standing index on open shifts per person, so the question am I on the clock is one lookup rather than a scan somebody could talk themselves out of trusting.

07

A leader can clock his own crew in, and the record says he did

From Today's Crew the leader taps Clock in beside a name. The worker is recorded as the worker; the leader is stamped as the man who entered it. The man who left his phone in the truck still gets his day, and if anyone argues about that entry later it is attributable to a name. Doing this for his own men is one of the things a crew leader is trusted with — the rest of that list, and everything deliberately left off it, is on roles and permissions.

Crew portal — Today’s crew
Today’s crew
Marlin Zook (you)
On the clock · 3h 12m
Dwayne Esh
On the clock · 3h 08m
Clock out
Curtis Lapp
Done · 8h today
Clock in
Nelson Beiler
Not clocked in
Clock in
Anything you do here is recorded as entered by you.
Clock in beside each name, and the line under the list: entered by you. Real screen · sample data.
Without it

A man leaves his phone charging in the truck at seven, and by the time anyone notices, his morning has to be reconstructed by two people who disagree about it.

Why we built it

The entry lands on whatever job the leader himself is clocked into, because a crew works one site at a time and he is standing on it — an exception that costs two taps is one that happens in here, rather than by text message where nothing is kept.

Sound familiar?“I'm paying for hours I can't verify”
08

The leader sees who is actually on the clock this morning

Try it

His own crew as a list of names with two facts each: on the clock since when, or hours already closed out today. The names are the men the office put in that crew in crews management, and he sees nothing outside it — his own crew is the whole of what that link can read, with no setting anywhere that widens it, which is a harder wall than the crew visibility the office side gets on roles and permissions. Missing time gets fixed the same morning on site instead of turning up as a hole on payday.

Crew card expanded
2
Projects
18
Stages Done
1
In Progress
-0.8d
Avg Variance
Current Project
Wenger 40×60 Shop
Framing — Day 3
Members (4)
MZ
Marlin ZookLEADER
(717) 555-0143 · marlin@stonebridge.demo.invalid
PlansTier 1 · $500
DE
Dwayne Esh
(717) 555-0168
PlansTier 2 · $400Leader
CL
Curtis Lapp
(717) 555-0117
PlansTier 3 · $350Leader
NB
Nelson Beiler
(717) 555-0192
PlansTier 4 · $270Leader
Assigned Projects (2)
Wenger 40×60 Shop4/7 stages
Beiler Barndominium0/6 stages
The crew as the office staffs it — those names, and only those, reach his phone. Real screen · sample data.
Without it

The missing Tuesday surfaces on payday, in front of the man it costs, with nothing left to check it against.

Why we built it

Deliberately a roster and not a report — the leader gets the smallest thing that lets him correct this morning's mistake while it is still this morning's, which is the only point where a fix costs a conversation instead of trust.

09

The shift nobody closed raises an alarm, not a guess

Anyone left on the clock for twelve hours raises a never clocked out alert carrying the name, the job and the time he started — sent wherever the company's own notification rules point it, and once per shift so it stays worth reading. It deliberately does not close the shift. Writing in a knock-off time nobody chose would put an invented number onto someone's pay. A human sets the real time, and that correction carries their name.

Shift never closed
Notifications
2 unread
Mark all read
Today
Shift never clocked out
Marlin Zook never clocked out
Wenger 40×60 Shop · On the clock since 6:12 AM
14m ago· Open schedule →
Crew blocked on site
Crew blocked: Framing
No materials · Crew: Crew B · Reported by Dwayne Esh
2h ago· Open schedule →
Yesterday
Crew blocked on site
Crew blocked: Site prep
Weather · Crew: Crew C · Reported by Nelson Beiler
1d ago· Open schedule →
Mute soundslast 30 days
The alert as it lands — who, which job, and on the clock since 6:12 AM. Real screen · sample data.
Without it

Somebody drives home still clocked in on Thursday and the nineteen-hour day turns up when payroll is already running.

Why we built it

Twelve hours is counted from the clock-in itself rather than the crew's planned finish, so a four-in-the-morning start is not flagged for being early. Who hears it is a setting rather than a hard-coded chain — it goes to the owners and project managers unless the company points it at the leader standing on the same slab, who can settle it with one question to the man himself.

10

The worker can check his own week, split into approved and waiting

On the Crew door, under his own clock, is one big number for the week, then 24h approved · 8h waiting, then a tile for each day with its hours — green once approved, marked waiting until it is. Approved and waiting are never blended into one figure that implies you have agreed to something you have not — nothing he taps becomes a cost until somebody has looked at it, and that happens on the office side in the job's labour panel.

Approvals
Approvals
Timesheets and expenses your crews and subs submitted, waiting on you.
7
pending
$1,104.60 in expenses
Wenger 40×60 Shop
Approve all (4)
Posts & framing
2026-08-24 · Crew B · 4 on site
32 hrs
Posts & framing
2026-08-25 · Crew B · 4 on site
30 hrs
materials · Zimmerman Supply
2026-08-25 · Crew B · Posts & framing
$486.20
fuel · Sheetz
2026-08-25 · Dwayne Esh · reimbursable
$78.40
Stoltzfus Equipment Storage
Approve all (3)
Roof steel
2026-08-24 · Ridge Overhead · 2 on site
620 units
rental · Keystone Equipment
2026-08-25 · Ridge Overhead · Roof steel
$540.00
Site prep
2026-08-26 · Crew C · 3 on site
18 hrs
Where waiting actually sits — his hours in the office's queue, grouped by job. Real screen · sample data.
Without it

Every second Thursday somebody stands at your elbow asking what he is owed, and you put down what you were doing to go and count it for him.

Why we built it

He is reading the office's own entries rather than a copy of them, so payday starts from one sheet instead of two — and a man who can see a day missing from his own week chases it while the crew that worked it still remembers.

Sound familiar?“no idea what time the crew actually got on site”
11

The hour arrives as the figure everything downstream already read

Hours is the same column approvals, payroll and the job's costs have always read — the punch clock changed where the number comes from, not what reads it. What lands here is a record of the work, not a wage: what a day is worth, and how a crew's surplus gets split by the hours in it, is set out in day rates with shared surplus. The hour stops here, and what it costs the job against what you quoted is worked out in estimate against actual.

Labour & Costs — Project P&L
Project P&L
$20,555.00(24% margin)
Revenue $86,400.00
Actual cost $65,845.00
Labor: $38,220.00 / est $36,000
Expenses: $6,145.00
Materials: $21,480.00 / est $22,500
220
Hours
1,240
Units
$7,410.00
Expenses
$6,145.00
Approved
23 items
Cost by stage · approved actuals
Total $44,365.00
Posts & framing
Crew B · Day rates + shared surplus
96 hrs
$18,940
$17,600 lab · $1,340 exp
Roof steel
Ridge Overhead · Per unit
1,240 sheets
$11,905
$10,540 lab · $1,365 exp
Site prep & layout
Crew C · Hourly (T&M)
62 hrs
$8,930
$7,440 lab · $1,490 exp
Siding & trim
Kauffman Exteriors · Cost-plus (hours + materials)
38 hrs
$4,590
$2,640 lab · $1,950 exp
Concrete flatwork
Valley Flatwork · Lump sum / fixed bid
24 hrs
Lump sum
Costliest stage highlighted. Lump-sum crews are priced per crew, not per stage, so their labor shows in the project total above.
Labour on the job, priced off the same hours column the clock writes. Real screen · sample data.
Without it

Two hours columns, and by March the payroll report and the P&L disagree by a hundred and forty hours with nobody able to say which is the real one.

Why we built it

A second hours field would have meant touching every report that reads the first one, and every one of those is a place two numbers could quietly diverge. Deriving into the existing column costs you the ability to hold a typed figure and a punched figure side by side; the column says which one it is holding, and that was judged enough.

12

A typed number still exists, for people who are not on your clock

Try it

A subcontractor's own men log hours or units by entering them on their portal, because they are not your employees and their phones are not on your clock. Your men punch; a sub's company reports. The entry says which it was — clocked by the man, entered by his leader, or submitted by a sub — so the office can tell those three apart without reading names.

Sub portal log
This crew’s pay model
ProjectWenger 40×60 Shop
StageRoof steel
DateSep 12, 2026
Units (square)38
How many people on site? (optional)—
Note (optional)What did you work on?
Submit Time
Your recent submissions
approved2026-09-10 · Roof steel42 units
submitted2026-09-11 · Roof steel36 units
submitted2026-09-11 · rental$540.00
The subcontractor's log — hours or units, typed, on a different route entirely. Real screen · sample data.
Without it

A disputed Thursday, and nobody can say whether that eight hours came off a clock, off a leader's phone, or off a sub's own paperwork.

Why we built it

One universal hours form would have been less code, and it would have thrown away the single distinction that makes a labour dispute answerable. Keeping the source on every row costs a column and buys you an answer to where did this eight hours come from that nobody has to reconstruct.

How it works
  1. 1He taps Clock In. One job needs no question; several show as cards to pick from — a concrete crew swipes to the job instead.
  2. 2The button itself counts, to the second — ON THE CLOCK · 3h 12m 08s — and the time recorded is the moment he tapped, kept on the phone until there is a signal.
  3. 3He taps Clock Out, and the hours are worked out from the two moments.
  4. 4The entry carries the job, the stage and who entered it.
  5. 5It lands waiting for approval, in the same queue and the same job costs as every other hour.
Why we built it

Labour hours were a number somebody typed at the end of a day — or worse, the end of a week. A man on a roof does not stop to do that, so the number he eventually writes down is a guess, and you are paying it. Clocking in and out records two real instants and works the hours out from them. Everything downstream reads the same hours figure it always did, so approvals, payroll and the job's costs keep working exactly as before.

The problem
  • Hours reconstructed from memory days later are guesses.
  • Nobody could tell which stage a day's hours belonged to.
  • Payroll arguments with no record to settle them.
What you get
Hours are two timestamps, not a recollection.
Every hour is attributed to a job and the stage it was worked on.
The existing approvals and job-costing pipeline gets accurate input with no rework.
What's inside
Location stamped, never enforced

The phone is asked for a position and stops asking after a few seconds. No permission, a slow fix or a steel building simply means no pin. The office can look at the odd ones. The clock never refuses a man on location grounds.

Leader clocks a man in

Someone forgets. Someone's phone is dead. Someone doesn't carry one — and that man still worked. From Today's Crew the leader taps Clock in beside a name. The worker is recorded as the worker; the leader is stamped as the man who entered it.

Today's crew

For leaders only. Each name reads On the clock · 2h 40m, Done · 8h today, or Not clocked in, with a clock button beside anyone but himself. It is his own crew and nothing else.

One open shift per man

A man can only ever have one shift open. Tap Clock In twice and the second tap returns the shift that exists. Tap Clock Out with nothing open and it says already done rather than throwing up an error.

Shift that never ended

A man drives home still on the clock. After twelve hours the crew leader hears about it, and an owner after him. It fires once per shift, and it never invents a knock-off time.

This week, approved and waiting

The bottom of his screen shows the week's hours from Monday, with approved and waiting stated separately, then a day-by-day list naming the job and where each entry stands. He can spot his own missing day.

CREW PORTAL

See jobsite punch clock
on one of your own jobs.

Twenty minutes, your building, your numbers. Bring the job where “guys guess their hours at the end of the week” — we will show you exactly where that stops.

leads2build.com
Construction Time Tracking App for Crews — Leads2Build