Clock In — Ready
9:41
Ready to Work?Select a job below and clock in to start tracking your hours.
Today's Status Not Clocked In
GPS Active — 742 Evergreen Terrace, Akron
Select a Job
Kitchen Remodel — Phase 2 1847 Highland Ave, Akron, OH
Bathroom Tile Install 563 Portage Path, Cuyahoga Falls

ContractorTimeClock — idle state

useQuery(getActiveEntry), useMutation(clockIn)

Clocked In — Active
9:41
02:34:15
Kitchen Remodel — Phase 2 1847 Highland Ave, Akron, OH
GPS Tracking Active

Activity
Clocked In7:06:45 AM — Within geofence
2.6h
Today
24.3h
This Week
5
Day Streak

ContractorTimeClock — active state + PulseRing

1-second interval timer, useMutation(clockOut)

Break Timer
12:15
Break Type
Lunch Break30 min standard
Short Break15 min
PersonalVariable
On Break
00:18:42
Lunch Break — Kitchen Remodel
Today's Breaks
48mTotal
2Breaks
30mLunch

Break PolicyBreaks do not count toward billable hours.

BreakTimer — break type selection + running timer

useMutation(startBreak), useMutation(endBreak)


Daily Timesheet
5:30
Mon, Feb 24, 2026
Kitchen Remodel — Phase 2 7:06 AM – 11:45 AM 1847 Highland Ave, Akron
4h 39m
Lunch Break 11:45 AM – 12:15 PM
30m
Kitchen Remodel — Phase 2 12:15 PM – 3:30 PM
3h 15m
Bathroom Tile Install 4:00 PM – 5:15 PM
1h 15m
Daily Summary
9h 09mWorked
30mBreaks
100%GPS

DailyTimesheet — date-filtered entry list

useQuery(getEntriesForDateRange)

Weekly Timesheet
5:30
Week ofFeb 17 – 23, 2026
Draft

38.5Hours
14Entries
3Jobs
Mon
Tue
Wed
Thu
Fri
Sat
Sun
Avg 6.4h/day 38.5h total
MondayFeb 17
Approved7.2h
TuesdayFeb 18
Approved8.1h
WednesdayFeb 19
Pending6.5h
ThursdayFeb 20
Flagged9.2h
FridayFeb 21
Approved7.5h

TimesheetDetail — weekly breakdown + submit

useQuery(getTimesheetForWeek), useMutation(submitTimesheet)

Timesheet — Flagged
5:30
Hours flagged for review — see details below
Kitchen Remodel — Phase 2Flagged
Clock In6:52 AM
Clock Out4:45 PM
Duration9h 53m

GPS mismatch — Location did not match job site at clock-in
Overtime — Entry exceeds 8h daily threshold
Admin Note

Please verify your location for the Thursday morning clock-in. GPS showed you at 2.3 miles from the job site.

Danny M. — Feb 21, 3:15 PM

TimesheetFlagged — flagged entry detail + admin note

useMutation(adjustEntry), GPS validation flow


Team Dashboard
2:15
5
Clocked In
1
On Break
2
Off
Total Team Hours Today 34.7h
Team Members
MR
Marcus RodriguezKitchen Remodel
Working6.2h
JW
James WilsonBathroom Tile
Working5.8h
AK
Amy KowalskiDeck Build
Break7.1h
DP
Derek PatelRoof Repair
Working8.0h
TN
Tyler Nguyen
Off

TeamTimeDashboard — live team status

useQuery(getTeamStatus), contractor manager role

Team Member Timesheet
2:15
MR
Marcus Rodriguez Lead Installer
ActivePTO: 5 days
Week of Feb 17 – 23Pending
M
T
W
T
F
S
S
Total: 41.2h 3.2h OT
Monday, Feb 173 entries
7.8h
Tuesday, Feb 182 entries
8.5h
Wednesday, Feb 192 entries
7.1h
Thursday, Feb 203 entries
OT9.8h
Friday, Feb 212 entries
8.0h

TeamMemberTimesheet — individual review + approve

useQuery(adminGetTimesheet), useMutation(approveTimesheet)

Timesheet Approvals
2:15
Pending (3)
Approved
Rejected
3 timesheets awaiting review
MR
Marcus Rodriguez Feb 17 – 23 · 41.2h
OT: 3.2h
GPS OK
JW
James Wilson Feb 17 – 23 · 38.5h
GPS OK
AK
Amy Kowalski Feb 17 – 23 · 36.0h
GPS Issue
Recently Approved
DP
Derek PatelFeb 17 – 23 · 40.0h
Approved
LS
Lisa SimmonsFeb 17 – 23 · 37.5h
Approved

TimesheetApprovals — manager approval queue

useQuery(adminListSubmittedTimesheets), useMutation(approveTimesheet)

Reports & Export
2:15
Date Range
From
Feb 1, 2026
To
Feb 23, 2026
Report Type
Individual
Team
Project
Hours by Employee
Marcus R.
164h
James W.
138h
Amy K.
131h
Derek P.
150h
Hours by Job
Kitchen
42%
Bathroom
26%
Deck
17%
Roof
15%
Export Format
PDF
CSV
QB

TimeclockReports — export + visualization

QuickBooks integration, PDF/CSV generation

Clock & Break Live
9:41
3:42:18
Clocked in since 8:15 AM
GPS VerificationClock-in location is verified against your assigned job site. Geofence radius: 200 meters.
Break Log
Lunch Break
12:00 PM – 12:30 PM (30 min)
Short Break
2:45 PM – 2:55 PM (10 min)
Daily Summary
7.2h
Worked
0.7h
Break
$216
Earned

Timesheets Live
9:41
Weekly Timesheets
Feb 17 – 23
40.0 hrs
Approved
Feb 24 – Mar 2
38.5 hrs
Draft
Mar 3 – 9
32.0 hrs
Flagged
Auto-SubmitTimesheets are auto-submitted at the end of each pay period if not manually submitted first.
Feb 17 – 23 Approved
Monday
8:00 AM – 5:00 PM (8.0h)
Tuesday
8:00 AM – 5:00 PM (8.0h)
Wednesday
8:00 AM – 5:00 PM (8.0h)
Thursday
8:00 AM – 5:00 PM (8.0h)
Friday
8:00 AM – 5:00 PM (8.0h)
Total
40.0 hours

Team Time & Approvals Live
9:41
Team Members
3 pending
Marcus Rodriguez
38.5 hrs this week
Pending
Sarah Chen
40.0 hrs this week
Approved
Jake Wilson
32.0 hrs this week
Flagged
Flagged EntriesEntries flagged for unusual hours or missing GPS data require manual review before approval.
Marcus Rodriguez
Technician · Active Shift
38.5h
Hours
2.0h
Overtime
5/5
Days
Current Shift
Clock In
7:06 AM
Duration
5h 42m
GPS Status
Verified
Breaks
1 × 30 min
Timeclock Dashboard Live
https://app.3bids.io/contractor/timeclock
3BidsTimeclock
Dashboard
Timesheets
Team Time
Approvals
Reports
MK
Mike Kowalski
Contractor

Timeclock Dashboard

3:42
Active Shift
38.5h
This Week
0.7h
Break Today
3
Pending Approvals
Date
Clock In
Clock Out
Hours
Status
Today
8:15 AM
3:42
Active
Yesterday
7:45 AM
4:30 PM
8.75h
Complete
Mon
8:00 AM
5:00 PM
8.0h
Complete
GPS VerificationClock-in location is verified against your assigned job site. Geofence radius: 200 meters.

Timesheets Live
https://app.3bids.io/contractor/timeclock/timesheets
3BidsTimeclock
Dashboard
Timesheets
Team Time
Approvals
Reports
MK
Mike Kowalski
Contractor

Timesheets

Week
Hours
Overtime
Status
Actions
Feb 17 – 23
40.0h
0h
Approved
Feb 24 – Mar 2
38.5h
2.0h
Draft
Mar 3 – 9
32.0h
0h
Flagged
Auto-SubmitTimesheets are auto-submitted at the end of each pay period if not manually submitted first.

Team Management Live
https://app.3bids.io/contractor/timeclock/team
3BidsTimeclock
Dashboard
Timesheets
Team Time
Approvals
Reports
MK
Mike Kowalski
Contractor

Team Time & Approvals

156h
Team Hours
3
Pending Approvals
1
Flagged
Member
Hours
Overtime
Status
Action
Marcus Rodriguez
38.5h
2.0h
Pending
Sarah Chen
40.0h
0h
Approved
Jake Wilson
32.0h
0h
Flagged
Flagged EntriesEntries flagged for unusual hours or missing GPS data require manual review before approval.

Data Architecture

Schema tables, queries, mutations, and status flows that power Timeclock & Attendance.

Source Files

clock-in.tsx
Clock in/out with GPS verification, break tracking
screen
timesheets.tsx
Weekly timesheet list with status filters and submission
screen
team-time.tsx
Manager view — team hours, approvals, flags
screen
approvals.tsx
Pending approval queue with bulk actions
screen
reports.tsx
Exportable time reports by period and member
screen

Convex Queries

timeclock.getActiveShift
Current shift status, clock-in time, break state.
query
timeclock.getTimesheets
Weekly timesheets by status (draft, submitted, approved).
query
timeclock.getTeamTime
Team member hours with overtime and attendance flags.
query
timeclock.getPendingApprovals
Timesheets awaiting manager approval.
query
timeclock.getReports
Aggregated time data by period, member, or project.
query

Convex Mutations

timeclock.clockIn
Start shift with GPS coords. Validates geofence.
mutation
timeclock.clockOut
End shift, calculate total hours, log location.
mutation
timeclock.startBreak
Begin non-billable break. Pauses shift timer.
mutation
timeclock.endBreak
Resume shift. Records break duration.
mutation
timeclock.submitTimesheet
Submit weekly timesheet for manager review.
mutation
timeclock.approveTimesheet
Manager approves submitted timesheet.
mutation
timeclock.flagEntry
Flag entry for review with reason code.
mutation

Shift Status Flow

clocked_out clocked_in on_break clocked_in clocked_out

Key Design Decisions

GPS-Verified Clock-In
Location verified against job site geofence. Prevents buddy punching.
Break Tracking
Non-billable breaks tracked separately. Pauses shift timer automatically.
Manager Approvals
Submitted timesheets require manager approval before payroll processing.
Timesheet Flagging
Unusual hours or missing GPS trigger automatic flags for manual review.
Exportable Reports
CSV/PDF export by period, member, or project for payroll integration.