Blog · AI Implementation Case Study · NZ Construction

New Zealand AI Implementation Case Study: Site Timesheets and Job Costing for a Construction Company, Run from a Chat Group

Reviewed 14 Sep 202612 minBEE Sigma Delivery

This New Zealand AI implementation case study is about a South Island construction company that works as both head contractor and carpentry subcontractor, with forty-odd workers spread across fifteen to twenty projects. Before we started, hours were recalled by foremen after work, written on paper and totalled in Excel; project information lived in WeChat groups and email; the owner could not see labour cost by project. The project started on 8 April 2026, the first workflow ran end to end on 7 May, and the whole company went live on 15 June. At the first-quarter handover on 27 June: 12 core tables, 20 projects, 334 daily records and more than 10,000 hours of work sat in Lark Base, and a cost dashboard showed labour cost by project. This article is not about the result. It is about what happened in the three months in between.

01

How were hours recorded before?

The company builds on the South Island as both head contractor and carpentry subcontractor, with forty-odd workers on site and a dozen or more projects running at once. Management is the owner and a partner; below them a project manager and several foremen (Site Managers). Before we started, internal communication ran in WeChat groups, external in email, and hours in Excel: a foreman recalled after work who had done how many hours, typed it into a sheet, and the accountant totalled it at month end for payroll.

On 9 April the owner stated the need in the group for the first time: ‘I want a system where site workers’ hours and projects are filled in daily and tracked, for site managers who roster workers, for the workers themselves, and for office accounting and admin, so that everyone can quickly see what they need.’ On 28 April came two more items: VO (Variation Order) records and a site diary, ideally voice-entered, and the diary had to take photos.

Taken apart, that is three things: who went to which site for how long each day (hours); what happened on each site each day (diary and VOs); how much labour each project has consumed to date (cost). The first two live with the foremen, the third in the owner’s head, and no table connected them.

02

Where to cut first: hours, not the whole system

What the client ultimately wanted was a system showing the progress of every project. At the scoping session on 21 April we set phase one as ‘smart site’ hour tracking: the biggest data volume, happening every day, and the easiest to check for right and wrong. Project progress tracking went to phase two.

Two design principles were fixed that day. First, whatever a foreman fills in should come from dropdowns and simple checks: worker names and site names picked from a list, hours over 12 flagged automatically, no free typing on a phone. Second, voice is only used to ‘call up the form’, never to issue commands directly; entry accuracy comes from form structure, not from a model guessing.

On 22 April our business consultant drew phase one as a five-step flow and four roles: the project manager issues tasks in the morning, the foreman confirms or edits, records a VO when needed, reports actual hours before knocking off, and the system consolidates and generates the site diary. Workers need no company account; they receive notices in one external Lark group.

One unglamorous hurdle: an overseas company could not get Feishu enterprise verification at the time, and the owner spent over a week sorting out registration. Meanwhile we ran the two-way project-manager-and-foreman flow in an internal group, with the workers’ group as one-way broadcast, so nothing stalled.

Phase-one five-step flow: task issue (every morning), task confirmation and live edits, VO change record (on demand), daily report (before knock-off), automatic consolidation and diary generation
The five-step flow from the 22 April phase-one plan: the project manager calls up the daily roster by voice and issues tasks, the foreman confirms or edits within their permissions, VOs are triggered on demand, actual hours are reported before knock-off, and the system consolidates the day and generates the site diary file. (Chinese-language original.)
Four role cards: project manager, site manager, finance staff, workers (notification only)
The four roles in the same plan: the project manager issues tasks, approves cross-site transfers and sees all hours and cost; the foreman edits only their own site’s tasks, files the daily report and VOs, and cannot see financial cost; finance sees hours and cost through a separate private table, with pay rates kept apart from timesheets; workers only receive notices in an external Lark group. (Chinese-language original.)
03

What did we connect?

The principle was still connect, don’t replace: workers still talk in the group, the owner still reads tables; what was added is a layer of agents in between that write tables.

  • Lark group as the entry point: One group per site. The foreman posts the day’s completed work, incidents and photos and @-mentions the agent; anyone who does not want to type uses Lark’s built-in speech-to-text and checks the words before sending.
  • Runs locally: The agents run on a Mac mini in the client’s office, orchestrated by OpenClaw, with the model billed to the client’s own Codex account; the data stays in the client’s own Lark workspace.
  • Split into several agents: One each for hours, site diary and VOs, so they do not interfere. Decided internally on 15 May: split agents feel better to the client and are easier to debug.
  • One Base as the foundation: A worker profile table for identity, a pay-rate table versioned by effective date, a daily record table with one row per site per day, a daily hours detail table as the single source of hours and labour cost, a project cost detail table for non-labour cost such as materials, transport, expenses and subcontracts, plus VO table, site diary index and the cost cockpit dashboard. Twelve core tables by the 27 June handover.
  • Hours to payroll without an LLM: A Base automation fires when a daily record is added or changed, loops through the linked workers’ pay rates, updates the matching row in the monthly payroll summary or creates one. Anything that can be calculated wrongly is not handed to something that guesses.
  • People stay in three places: Foremen confirm actual hours daily; the project manager edits tasks and approves cross-site transfers; the owner and accountant check pay rates and cost. The agent does not change rates, does not compute payslips, does not approve anything.
Lark Base table list: projects, daily records, daily hours detail, monthly payroll summary, worker pay rates, project cost detail, VO table, and the construction overview cost cockpit dashboard
The table list before deployment on 1 June: projects, daily records, daily hours detail, monthly payroll summary, worker pay rates, project cost detail, VO table, and the ‘Construction Overview | Cost Cockpit’ dashboard. (Chinese-language original.)
Lark Base automation ‘sync hours to payroll’: triggered when a daily record is added or changed, loops over linked pay rates, looks up records, branches, then updates or creates a monthly payroll summary record
The ‘sync hours to payroll’ Base automation built on 23 April: trigger, loop, lookup, branch, update or create. Deterministic rules end to end, no step handed to a large language model.
04

Month one: the problem was not features, it was stability

On 7 May the first workflow ran end to end and the engineer recorded four demos: tasks pushed by site at 9 a.m., foremen prompted to confirm at 5 p.m., a foreman replying with corrected hours, and a second reminder at 7 p.m. for anything unconfirmed. On 8 May the owner joined the test group.

The same day our business consultant wrote one line in the internal group: ‘Over these days of development and testing, OpenClaw’s stability has been the biggest problem. Until it is solved, this cannot go commercial.’ The instability had four sources: a mismatch between the Lark plugin version and new OpenClaw releases, bot permission settings in Lark, the model account running out of tokens, and gateway disconnects. In the 9 May weekly report, that was the only blocker listed.

The fix was not mysterious: pin a stable version, back up before changing anything, add configuration so reconnects hold. On 9 and 10 June another round of Codex authentication failures and model cooldowns hit; the engineer connected remotely, fixed it, and left the client a written troubleshooting note to follow next time.

On 22 May the owner read the draft VO and site-diary plans and said something that made us sit up: ‘Can you solve voice input or some easier way of entering data? Otherwise this is not much of an improvement on filling in a form by hand. The AI is improving too little.’ She was right. The person filling in the form is a foreman standing on site with dust on his hands. The answer was not in the tables but in the keyboard: install a speech-to-text keyboard on the phone, see the words, then send, rather than throwing audio at a model to guess. We wrote no code for this.

05

The on-site meeting on 27 May: defining the site diary

On 27 May we went to the client’s office and the project manager attended for the first time. The meeting listed what the site diary must record: weather and its impact, hours, communication with the principal’s site manager, inspections and QA, progress against the construction programme, drawing updates, and VO information. Mostly text, photos allowed, handled by a separate agent that generates one Daily Site Log at a fixed time each day.

Two business details only surfaced in that room. First, diaries differ between lump-sum and non-lump-sum projects, so an attribute field went onto the project table, set when a site is created. Second, VOs are submitted by foremen in plain language and extracted by the agent into the VO table, but principals have two signing habits (one sheet per day, or one sheet for several days), so two Excel formats had to be exportable.

The meeting also narrowed phase one to a single goal: cost visibility. Comparing progress against the principal’s programme was deferred to phase two. The engineer left with a list: bind daily records to sites, build the hours and cost tables, generate and consolidate VOs, add reminders to the site-diary agent.

Site diary content framework table: weather, hours, communication, inspections and QA, programme completion, drawing updates, VO information
The site-diary framework from the 27 May meeting notes: seven record items, mostly text with optional photos, handled by a separate agent, with lump-sum and non-lump-sum projects distinguished. (Chinese-language original.)
Site Log Agent plan: joins the project group, silent by default, continuously reads messages, images, files and speech-to-text, recognises weather, crews, plant, trade work, issues and follow-ups, inspections and deliveries, programme, VO information, QA/H&S/photo evidence, writes to a structured database and generates a Daily Site Log at a fixed time
The engineer’s site-diary agent plan of 22 May: joins the group but stays silent by default, keeps reading messages, images and transcribed voice, recognises nine kinds of information into structured tables, and produces one diary a day. (Chinese-language original.)
06

June: go-live, upgrade, rule changes

From 1 to 3 June, all phase-one functions were deployed to the Mac mini in the owner’s office and the test group moved into the production work group. The cost cockpit screenshot of 6 June: 15 projects, 6,013 hours logged, 210 daily records. On 15 June the owner wrote in the group, ‘we are officially open for business today’, and the whole company was on the system.

Four things changed in the first two weeks. On 12 June, the Base had used 41% of the basic plan’s 2,000 rows per table since 5 May and would certainly exceed it within a quarter, so it was upgraded to the professional plan (20,000 rows per table), starting with the daily hours detail table that gets one row per worker per day. On 16 June, date misalignments were traced to the Base time zone having been set to Beijing time; it was changed to New Zealand time. The same day the owner pointed out that everyone in the hours group could see the payroll table; it was hidden from group members that day, and a separate technical group was created so foremen did not have to watch engineers fixing things. On 18 June, VO hours stopped going into a separate table and instead carry a ‘VO’ tag on the daily hours detail, defaulting to ‘regular’, so the two can be split when querying.

A manual audit on 17 June is worth writing down. The engineer went through the tables line by line and listed four kinds of error: two blank daily records on the same day, with no project, no worker, zero hours and zero cost, probably created by mistake; a worker appearing in a project’s worker list with no hours description; the same project on the same day split into two records, needing a human to confirm whether it was a duplicate; and a morning scheduled job that had announced ‘no site tasks today’ while actual hours appeared in the group later that day. The system caught none of these. People found them by comparing.

A rule changed the same day, in plain language. The owner’s instruction: ‘If a message is not about hours, record it in the site diary or the event description.’ The agent confirmed: from now on, anything @-mentioned to it without explicit hours goes first to the daily record’s event description or the site diary instead of stalling for lack of hours; only messages clearly about billable hours are written to the daily hours detail. After the change, the two stalled records were completed on the spot and no existing hours were touched.

Cost cockpit KPI cards on 6 June: 15 projects, 6,013 hours logged, 210 daily records; cumulative labour cost and total cost cards pixelated
The cost cockpit on 6 June: 15 projects, 6,013 hours logged, 210 daily records. The labour cost and total cost cards contain amounts and are pixelated. Labour cost comes from the daily hours detail table, non-labour cost from the project cost detail table. (Chinese-language original.)
Chat screenshot: the owner asks that messages not about hours be recorded in the site diary or event description; the agent confirms the rule change and completes two stalled records without changing existing hours
Changing a rule with one sentence on 17 June: messages not about hours go to the daily record’s event description or the site diary; only billable hours go to the daily hours detail. The agent confirmed and completed two records on the spot. Project names in the screenshot are pixelated. (Chinese-language original.)
07

The first-quarter handover on 27 June: numbers and dashboards

At the handover meeting on 27 June our business consultant gave these figures: the project management system about 85% complete, roughly one month of formal trial, 12 core tables, 20 projects onboarded, 334 daily records accumulated, more than 10,000 hours of work logged. The dashboard that day showed 12,149 hours. The core entry point is the project overview with four modules, site records, task reporting, cost accounting and VO management; management sees the state of the business on one screen, cumulative project cost, labour and procurement cost, project cost ranking and daily labour cost trend, and every table can be opened and questioned in plain language.

Two dashboard snapshots compared (sources in the last row)
Metric6 June27 June
Projects1520
Hours logged6,013 h12,149 h
Daily records210334
Core data tables8 (list of 1 June)12
SourceCost cockpit screenshotHandover notes and that day’s dashboard
Handover slide ‘projects, people, status and records start to form a management view’: line charts of project start dates and daily record dates
A management view from the 27 June handover material: project start-date trend and daily-record trend. The pie charts by project manager, project status, foreman and approval status on the right contained names and were cropped out. (Chinese-language original.)
08

Two things the owner decided in the room

We record the owner’s assessment as given: very satisfied with the team, the system delivers the core functions. More important than the assessment were two arrangements she announced on the spot: assign one person to watch system usage every day; move staff from recording hours in Excel to the Lark system, with a grace period, then make it mandatory step by step.

One more thing was said plainly: approvals are not in the system, and cost approval still happens offline by people. From the second quarter the mode of engagement changed: the client’s team operates, we coach, answering questions without jumping in lightly.

09

After handover: leaving the groups, a displaced binding, hours in one sentence

On 29 June we set the exit condition internally: observe until 7 July, and if it runs normally, withdraw entirely from the client’s hours group and hand it back, which also protects the client’s privacy. On 9 July our people left two groups: the hours group (which records how many hours each worker did on which project) and the site management group (which generates each site’s daily diary and photos).

On 24 July something happened. The client created a new agent themselves, and it displaced the original hours agent’s binding in Lark; from that day until it was noticed, hours were being recorded outside the original validation rules. The engineer fixed it remotely the same day, then wrote a dedicated guide, ‘how to create additional agents without breaking the existing binding’. That was not the client’s fault. When we handed over, we had not written down how not to break it.

A group exchange on 29 July shows what the system looks like day to day. A worker @-mentions the agent: ‘Work out my total hours and work locations for the whole week of 13 to 19 July.’ The agent replies: 49.5 hours for the week, work location a certain project, breakdown 6.5 hours on 13 July, 5 on 14 July, 9.5 a day from 15 to 18 July, no record on 19 July. The project manager then asks for another worker’s hours from 1 to 21 June, and it starts querying day by day. Nobody opened Excel.

On 1 September our project supervisor confirmed to the owner: ‘After these months of real operation, the agents are running stably overall, no significant problems have appeared, and this workflow has entered routine use.’ Group ownership was transferred to the client.

Project operations system diagram: site entry (site records, hours report, materials and plant, exceptions and VOs) → AI structuring → core ledgers → completeness check → gaps? → cockpit insights (cost overrun, VOs unreported or unapproved, overdue owners); below, the responsibility chain and core ledgers
The project operations system diagram drawn up on 29 June: site submission, AI structuring, core ledgers, a completeness check (missing fields, evidence or owner go back to the project manager or site to complete), cockpit decisions. The client’s company name is masked. (Chinese-language original.)
10

Four lessons from three months

Looking back, the expensive part was not development. It was these four judgements.

  • Stability is the first feature: The line of 8 May, ‘until it is solved, this cannot go commercial’, was right. Pin versions, back up first, write a troubleshooting note the client can follow. These engineering habits come before any model capability.
  • The entry point decides adoption: When the client said the AI improved too little, the problem was not the AI but how a foreman standing on site enters data. Dropdowns, speech-to-text, no accounts for workers: not one of those three was done by a model.
  • Go-live is not the finish line; someone has to watch the data daily: None of the four error types on 17 June was caught by the system. The owner assigning one person to check every day is the real reason the system reached routine use.
  • Before handing over, write down how not to break it: The displaced binding of 24 July exposed a gap in the handover documents. Role permissions, the steps for creating a new agent, where to look first when something goes wrong: these ship with the system.
11

Where is it now?

The system is run by the client, and our people are no longer in the hours group. In the second quarter the client’s team started a second project on the same Lark plus OpenClaw foundation by themselves: automating H1 insulation compliance calculations for their associated design practice, with us coaching.

The best acceptance test is still not a number. The next step the owner set for her own team on 27 June was to move the foremen from Excel to Lark, with a grace period. Whether a system stays depends on whether the person least willing to change is willing to use it.

Evidence boundary: every number in this article comes from the project group chat records, the notes of the first-quarter handover on 27 June and that day’s dashboard screenshots, each dated in the text. ‘12 core tables, 20 projects, 334 records, 10,000+ hours’ is a snapshot as of 27 June; the client has run the system since, and we no longer hold current figures. The client is a construction company on New Zealand’s South Island and is anonymised; company and personal names in screenshots have been cropped or masked, areas containing amounts and project names are pixelated, and payroll figures were not used.

FAQ · Quick answers

In this New Zealand construction AI implementation case study, what does the AI do for site hour tracking and what do people do?

The AI does four things: pushes tasks by site each morning, parses what foremen say in the group and writes it into daily records and the daily hours detail, generates the site diary, and consolidates the cost dashboard. People do three: foremen confirm actual hours daily, the project manager edits tasks and approves cross-site transfers, and the owner and accountant check pay rates and cost. Payroll is calculated by a Base automation, not by a language model, and approvals are not in the system.

Do we need to replace Excel, or make workers install a new app?

No new app. Workers only receive notices and say one sentence in a Lark or Feishu group, with no company account needed; anyone who does not want to type uses speech-to-text. Excel timesheets were phased out gradually: after the system went live on 15 June, the owner gave staff a grace period before making recording in the system mandatory step by step.

How long does a site hour tracking system take to go live?

This project started on 8 April, the first workflow ran end to end on 7 May, it was deployed to the client’s Mac mini on 1 June and the whole company was using it on 15 June, about ten weeks. Development itself took less than half of that; the rest went on stability, Feishu enterprise verification, agreeing the table structure and on-site input habits.

Who can see payroll and cost data?

It depends on the role. Foremen see only their own site’s roster and hours for the day, not financial cost or other sites; the project manager sees hours, progress, VOs and cost across all sites; the accountant sees the calculated hours and cost through a separate linked table, with pay rates kept apart from timesheets; the payroll summary table is hidden from ordinary members of the hours group (changed on 16 June).
DT
BEE Sigma Delivery

The front-line team that plugs workflows into the systems businesses already run — methods drawn from delivered projects.

Read Next

Hand your first workflow to the agents

One free scan shows how visible you are in the AI era; the AIM assessment finds your best angle of adoption.