Whitepaper
Sayt: turning the site visit into the report
A complete description of what Sayt records, how it produces a report, and the design decisions behind a documentation tool that never sends your work anywhere.
Version 1.1 · TestFlight beta · Last updated 9 September 2026
Abstract. Site professionals do not get paid for walking a site. They get paid for the document that comes out of it. Yet the document is almost always produced after the visit, from photographs stripped of context, notes written in a hurry, and memory. Sayt inverts that order: it captures each finding in the structure a report needs — location, description, severity, dimensions, position on the plan — so the report is a by-product of the walk rather than a second job that evening. Everything runs on the device. There is no account, no server and no analytics.
Who this is for. Anyone whose day ends with a report: site and junior engineers, civil and structural engineers, QA/QC checkers, foremen, site supervisors and construction managers, architects, safety officers, health, sanitary, food safety and fire inspectors, and property inspectors and insurance adjusters. Eighteen role profiles change the categories, the document title and the wording of the report — see §4.11.
Contents
- 1. The problem
- 2. Design principles
- 3. The workflow
- 4. Feature reference
- 5. The report
- 6. Data, privacy and security
- 7. Free and Pro
- 8. Requirements and known limits
1. The problem
A typical site visit produces forty to two hundred photographs, a handful of measurements, and a set of judgements that exist only in the inspector's head while they are standing in front of the thing being judged. The report is assembled hours or days later.
Three costs follow from that gap:
- Context decays. A photograph of a crack does not record which unit it was in, how long it was, or whether it was worse than last month. That information was available on site and was not captured.
- Work is done twice. The finding is described once verbally or in a note, then again in the report, then often a third time in an email to the contractor.
- The report is the bottleneck. Reporting is unpaid overtime for many practitioners, and the delay between visit and report is the delay before anything on site actually gets fixed.
Sayt's thesis is narrow: if the capture step is structured correctly, the report requires no writing at all.
2. Design principles
2.1 Capture in report shape
Every photograph in Sayt is attached to a finding, and every finding carries the fields a report section needs: a location, a description, a type, an optional category, optional measurements, and an optional position on the floor plan. Nothing is a loose image in a camera roll.
2.2 Local-first, not offline-tolerant
Sayt is not an online product with an offline mode. There is no backend at all. Basements, plant rooms, lift shafts and rural sites are ordinary working conditions, and a tool that degrades without signal is not usable in them. The only network path in the app is Apple's StoreKit, used to buy or restore Pro.
2.3 Speak the reader's language
A health inspector does not file "observations", they record findings and violations. A safety officer records hazards. An adjuster documents damage items. Sayt stores one underlying model and renders the vocabulary the profession expects, so the output does not read as though it came from a generic app.
2.4 State uncertainty honestly
Camera measurements are estimates. Sayt marks them with ≈ everywhere they appear, including in the exported report, and carries the disclaimer with them rather than hiding it in a settings screen. A number that pretends to more precision than it has is worse than no number.
3. The workflow
- Create the project once — client, site address, project type — and optionally import the floor plans.
- Start a visit. Visits are numbered automatically per project, so Visit #4 is unambiguous.
- Walk and capture. Photograph a finding, annotate it, measure it, pin it to the plan, mark it positive, neutral or negative, and promote it to a tracked issue if somebody has to act on it.
- Work the checklist if the visit is a repeat inspection.
- Generate the report before leaving. Choose a format and a template, preview it, export it.
- Schedule the next visit from the same screen.
4. Feature reference
4.1 Projects
A project holds a client, a site address, a project type, its floor plans, its reusable checklist and all of its visits. Multiple plans are supported — one per floor is the common case. Projects can be moved to Trash and restored (Pro).
4.2 Visits
A visit is the unit of work and the unit of reporting. It is numbered sequentially within its project, dated, and holds the photographs, observations, issues and checklist results recorded that day.
4.3 Photo capture and annotation
Photographs are taken inside the visit, not imported afterwards. They can be annotated with arrows, boxes and text, and given a quick note. A camera level overlay helps square up elevation shots and can be turned off. Images are written to the app's own storage on the device.
4.4 Observations and issues
An observation is something you saw. An issue is something that has to be fixed and therefore has a life beyond this visit. Observations are typed positive, neutral or negative and may carry a location and a category. An observation can be promoted to an issue, which then carries a status, a timeline of events across visits, and verification photographs when it is re-checked — which is what makes a follow-up report possible.
4.5 Measurements
Tap Measure on a finding to size it with the camera using ARKit, or Enter measurement to type a figure you already know. Measurements are stored against the finding, labelled, and carried into the report.
- Lengths — a single span such as a ceiling height or a crack.
- Areas — chain segments and close the shape, and Sayt reports the area it encloses.
- Units — metric or imperial, switched at any time. The stored value never changes; only its presentation does, so a file exported in one region reads correctly in another.
- Source — camera-derived values are annotated with ≈; manually entered values are not.
On a device where ARKit world tracking is unavailable, the measure tool falls back to manual entry rather than failing.
LiDAR. Sayt detects LiDAR-equipped iPhones and enables scene reconstruction, so the measurement is raycast against a mesh of the real surface instead of an estimated plane. This is materially more accurate on irregular surfaces — rubble, render, damaged masonry — where a flat-plane estimate is wrong. LiDAR is not required; without it Sayt measures against detected horizontal and vertical planes.
Stated in the app, and worth repeating here: camera measurements are digitally estimated and can vary by a few centimetres. Check critical dimensions with a tape.
4.6 Site plans and pinning
Plans are imported per project, either with the document scanner or from Photos, and stored as images on the device. Opening a finding shows the plan; tapping it drops a pin at that point, and tapping again moves it. Pin positions are stored proportionally, so they stay correct at any zoom or export size. Sayt also reads text from the plan and can offer the nearest label as the finding's location, which you accept or ignore.
4.7 Checklists
A project's checklist is authored once and reused by every visit. Each item cycles pending → OK → Fail → N/A, takes a note, and can hold photographs as evidence. Results appear in the report as a section.
4.8 Calendar and scheduling
The home screen shows a month calendar with the days you documented something marked, and tapping a day shows what happened on it — which is how you evidence progress to a client. Visits can be scheduled with a recurrence of daily, weekly, fortnightly or monthly, an end date, a note, and a reminder a chosen number of minutes beforehand. Reminders are local notifications generated on the device.
4.9 Punchlist OCR import (Pro)
Clients and head offices send punchlists as photographs, scans and printed
tables. Sayt scans or picks such an image, extracts the line items with Apple's
Vision framework entirely on the device, and shows them for
review. Numbered lists (1., 1), (1)),
bulleted lists (•, -, *, ◦)
and loose lines are all recognised, and detected column headers are separated
out so they are not imported as tasks. You confirm or edit each line, then send
them to the pre-visit checklist or import them as punchlist issues.
4.10 Handoff
A visit or a whole project can be exported as a single .saytpack
file containing a manifest and the photographs, and sent to a colleague by any
means you like. On import it merges rather than duplicates: projects are matched
by identity and then by name and address, visits and findings are matched by
identity, an already-imported visit is refused, and visit numbers are
renumbered locally to avoid collisions. Exporting handoff files is a Pro
capability.
4.11 Professions and vocabulary
Setting your profession changes the wording throughout the app and the report. Eighteen profiles are available, including architect, project architect, civil, structural, electrical, mechanical and sanitary engineer, contractor, site supervisor, construction manager, health inspector, food safety officer, sanitary inspector, fire marshal, safety officer, property inspector and insurance adjuster.
5. The report
This is the output the rest of the app exists to produce.
5.1 Formats
- PDF — the recommended format; ready to send.
- DOCX — editable in Word or Pages, for practices that must deliver on their own template. Pro.
- Photos (ZIP) — the original images at full quality.
5.2 Templates
- Standard — balanced professional layout, the default.
- Executive — client-facing: larger photographs, softer typography, technical detail rows hidden.
- Progress — photo-led progress documentation with minimal text.
- Inspection — emphasises issues, follow-ups and before/after evidence.
- Minimal — text-heavy architecture-office style, no accent bars or cards.
- Punchlist table — compact numbered No. | Name | Description table with one or two photographs per row, matching typical QA/QC and DPWH tabulation.
The standard template is free. The additional templates are unlocked with Pro.
5.3 Structure
A generated report runs in this order: branded header, project and visit details, measurements, observations, follow-up issues with their verification evidence, new issues raised this visit, a visit summary, the pre-visit checklist results, and a signature block.
5.4 Branding
The header and signature block are drawn from your professional profile — logo, professional name, company, licence and PTR numbers, email, phone, office address and signature image — and each element can be shown or hidden. Page numbering is optional. Free reports carry a "Generated with Sayt" attribution; Pro can turn it off.
6. Data, privacy and security
Sayt has no user accounts and no sign-up. It operates no server. Your projects, visits, photographs, measurements, plans and reports are stored in the app's own container on your iPhone and are protected by the device passcode and iOS file protection.
- No telemetry. There is no analytics SDK and no crash reporting service in the app.
- No cloud sync. Nothing is uploaded. Moving to a new phone is done through your own encrypted device backup, or by exporting handoff files.
- OCR is on-device. Both punchlist import and plan text recognition use Apple's Vision framework locally. No image is transmitted.
- Reports are rendered on-device using PDFKit and locally generated Word XML. No document is uploaded to be converted.
- The one network path is StoreKit — Apple's own service — used to fetch the Pro product, purchase it and restore it. Apple, not Sayt, processes payment; Sayt never sees card details.
- Pro is verified locally against a device-bound signed token, so entitlement checks work with no connection.
- Sharing is explicit. Data leaves the phone only when you
export a report or a
.saytpackand choose where to send it.
Full detail is in the Privacy Policy.
7. Free and Pro
The free tier is a working tool, not a demo: capture, annotation, camera measuring including areas, plan pinning, observations, issues, checklists, the calendar, and PDF and Photos ZIP export are all included, limited to three projects with five visits each.
Sayt Pro is a one-time purchase — there is no subscription
and nothing renews — and adds unlimited projects and visits, DOCX export, the
four additional report templates, removal of the report watermark,
.saytpack handoff export, punchlist OCR import, saving site photos
to your photo library, and Trash with restore. Pricing will be announced when
Sayt reaches the App Store; during the TestFlight beta, purchases run through
Apple's sandbox and nothing is charged.
8. Requirements and known limits
- iOS 17 or later. iPhone and iPad.
- Camera measuring requires ARKit world tracking. Where it is unavailable, the tool falls back to manual entry.
- Measurements are estimates, not survey-grade. See §4.5.
- No multi-user collaboration. There is no shared team workspace; collaboration is by exporting and importing handoff files.
- No automatic backup. Because there is no server, your data's survival depends on your device backup.
- Beta builds expire 90 days after release. Install the newest build from TestFlight; your data is unaffected.
Try it. Sayt is in open beta on TestFlight — no invitation needed.
This document describes Sayt 1.1 as released to the TestFlight beta. Features described as Pro are gated in the shipping app. Questions or corrections: cenon.johnriocel.p.0031@gmail.com