Skip to main content

FieldCheck

Chinatown Foods Pte Ltd had field sales staff checking in by sending a selfie to a WhatsApp group. No way to prove anyone was actually at the outlet, and nothing structured to report on afterwards.

The problem

Chinatown Foods Pte Ltd runs a field sales operation. Staff visit frozen food outlets across Singapore, call on buyers, and check in to confirm the visit happened.

Two things had to be true for that to work. A manager needed to be able to confirm a visit really happened, at the right outlet, without phoning round to ask. And the business needed a record it could actually look at afterwards: which outlets were covered, how often, and where the gaps were.

Neither was true. Confirmation rested entirely on trust, and the record was not in a form anyone could count.

What they tried first

Before FieldCheck, check-ins ran on WhatsApp. A sales agent arriving at an outlet would take a selfie and send it to the group. It was quick, everyone already had the app, and it cost nothing to set up.

The problem was that a selfie proves someone took a photo. It does not prove where they were. There was no location attached to any of it, so a manager had no way to confirm an agent was actually standing in the outlet rather than somewhere more convenient. Trust was doing all the work.

The second problem showed up later. Because the record lived as photos and messages in a chat thread, there was nothing structured to analyse. No clean way to ask which outlets were visited, how often, or whether coverage was even across the territory. The data existed, technically, but not in any form you could count.

What we built

FieldCheck is a mobile web app built for the field, not the office. The interface is designed around tap targets you can hit with one thumb while standing at a chiller cabinet.

When a staff member checks in at an outlet, the app validates their GPS position against the outlet's registered location using Haversine distance calculation. They get three attempts. If they are not within range, the check-in does not go through. Verification moves from trust to evidence.

Every check-in requires a selfie. There is no way to log a visit without one.

Not every outlet Chinatown Foods staff visit is in the system. When a staff member arrives at an unlisted site, they can log it as a custom location. That entry goes to the admin for review. If it is a legitimate new outlet, the admin geocodes it and promotes it to the main list. No visits fall through the gaps.

On the admin side, there is a dashboard for managing staff accounts and the outlet list. Every evening at 10pm Singapore time, the system generates a CSV report of the day's activity automatically. No manual collation. Reports are kept indefinitely so there is always a record to refer back to. Selfies are cleared after seven days to keep storage lean.

Stack: Next.js, Tailwind CSS, Vercel for hosting, Firebase for the database, file storage and authentication, Google Maps for geocoding.

FieldCheck admin dashboard listing field rep check-ins with times, outlets and GPS verification statusFieldCheck reports screen showing the automatically generated daily CSV export

How it was delivered

The project was scoped on a single call. No NDA required to have that conversation.

The quote was S$4,500, fixed before any work started. That figure covered the full build: GPS check-in, selfie capture, custom location flow, admin dashboard, and automated reporting. If the scope had changed during the build, the price would have been discussed before any additional work began.

From the first week, Chinatown Foods had a live link to the actual product in progress, not a mockup. Demos ran weekly against that link. By the time handover happened, the team had seen every part of the system working in real conditions.

Handover included full documentation, all credentials, and all data. The source code belongs to Chinatown Foods. If they ever want to move it, there are no exit fees and no lock-in. Defect support runs for twelve months at no extra charge, with a next-business-day response commitment.

The whole thing took under four weeks, from the first discovery call to a fully working system in UAT.

What changed

Check-ins are now verifiable. A manager can look at any day's activity and see which outlets were visited, when, and by whom, with GPS confirmation and a photo attached. There is no gap between what was reported and what happened.

The daily report no longer requires anyone to gather and collate anything. It compiles itself at 10pm every evening. By the time management checks in the next morning, the previous day's picture is already waiting.

Outlets that were not in the system no longer get skipped or informally noted. The custom location flow means they get captured, reviewed, and added to the list. Over time, the outlet database becomes more accurate without anyone manually maintaining it.

In the client's words

“This completely changed the way we operate, and gave us the ability to monitor performance.”

Chinatown Foods Pte Ltd

Tell us what is broken.

One call to scope it. You get a fixed quote before any work starts.

Scope your project