# SiteRipoti (Working Title) ## Construction Site Reporting & Management App — Full Scope & Functional Specification | | | |---|---| | **Document** | App Scope & Functional Specification | | **Version** | 1.0 (Draft for review) | | **Date** | 25 September 2026 | | **Platform** | Makepad UI framework, Rust — single codebase targeting Android, iOS, Windows, macOS, Linux and Web (WASM) | | **Status** | For stakeholder review | --- ## 1. Executive Summary SiteRipoti is a multi-platform construction site management application that digitises **daily and monthly site reporting**, **workforce attendance**, **site communications**, **task scheduling and approvals**, **procurement** and **site meetings** — with AI assistance at every documentation step. The app is designed around the reality of construction work in the field: unreliable connectivity, multiple concurrent sites under one supervisor, casual labour with paper IDs, and reporting chains that require verification before anything becomes official. It is **offline-first**, role-based, and audit-logged. This document formalises the original six-phase scope (22 requirement items) and adds the omitted capabilities — user accounts and permissions, offline sync, safety reporting, snag lists, RFIs, purchase orders, dashboards, document/drawing control and integrations — required to make the app a complete, production-ready product rather than a collection of features. **Notation:** - **[BASE]** = requirement from the original scope, formalised - **[ENHANCED]** = original requirement with meaningful additions - **[NEW]** = omitted capability added in this document for a fully functional app --- ## 2. Background & Problem Statement Site supervision today runs on a mix of WhatsApp groups, paper diaries, phone-camera photos and Excel sheets. The consequences: - **Lost evidence** — photos scattered across personal phones; no timestamp/GPS proof. - **Unverified reporting** — anyone can write anything; there is no approval chain or accountability. - **Slow compilation** — an overall supervisor managing several sites must manually merge daily reports into monthly packs, often days later. - **No audit trail** — disputes on what was done, when, and who approved it, are impossible to settle. - **Casual labour opacity** — no reliable record of who worked, where, and under which department. - **Paper meetings** — minutes taken by hand, typed up late, actions forgotten. The app replaces this with one verifiable system of record from the foreman's pocket to the boardroom pack. --- ## 3. Product Objectives & Success Criteria | # | Objective | Success Metric | |---|---|---| | O1 | Every site produces a complete, verified daily report | ≥ 90% of working days with an approved daily report per site | | O2 | Cut report preparation time | Daily report compiled in ≤ 15 min; monthly pack in ≤ 30 min (vs. hours today) | | O3 | Reliable multi-site oversight | Overall Supervisor compiles N-site consolidated report in one action | | O4 | Trustworthy records | 100% of approvals carry user identity, timestamp and signature | | O5 | Field usability | All core features fully usable offline on a low-end Android phone | | O6 | Faster approvals | Task inspection → approval turnaround visible and measurable per site | --- ## 4. Users & Roles ### 4.1 Personas | Persona | Description | |---|---| | **Overall Supervisor / Project Manager** | Manages several geographically distributed sites; needs consolidated reporting and cross-site visibility | | **Report Master** | Prepares, verifies and approves the site's daily/monthly report; the authority on report content | | **Site Supervisor / Site Agent** | Runs one site; contributes entries, photos and workforce data | | **Site Engineer / Foreman / Site Manager** | Internal inspectors; verify task quality; contribute entries | | **Procurement Officer** | Manages material schedules, suppliers and purchase orders | | **HSE Officer** | Owns safety compliance, incidents and toolbox talks | | **External Consultant** | Outside the company; performs external inspections and approvals on specific tasks | | **Client / Project Owner** | Read-only stakeholder receiving progress digests | | **Casual Worker** | Indirect user — present via scanned ID and attendance records | ### 4.2 Role × Capability Matrix | Capability | Org Admin | Overall Supervisor | Report Master | Site Supervisor | Engineer/Foreman | Procurement | HSE | Consultant (ext.) | Client (viewer) | |---|---|---|---|---|---|---|---|---|---| | Manage organisation & users | ✔ | ✔ | – | – | – | – | – | – | – | | Create/edit sites & working hours | ✔ | ✔ | – | – | – | – | – | – | – | | Contribute entries to daily report | – | ✔ | ✔ | ✔ | ✔ | – | ✔ | – | – | | Compile daily report | – | ✔ | ✔ | – | – | – | – | – | – | | Approve & sign report | – | ✔ | ✔ | – | – | – | – | – | – | | Compile multi-site report | – | ✔ | – | – | – | – | – | – | – | | Scan workers / manage attendance | – | ✔ | ✔ | ✔ | ✔ | – | – | – | – | | Chat in site channels | – | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | – | | Manage task schedule & templates | – | ✔ | ✔ | ✔ | ✔ | – | – | – | – | | Internal inspection sign-off | – | ✔ | ✔ | ✔ | ✔ | – | ✔ | – | – | | External inspection sign-off | – | – | – | – | – | – | – | ✔ (assigned tasks only) | – | | Create/approve purchase orders | – | ✔ | – | – | – | ✔ | – | – | – | | Record meetings & generate minutes | – | ✔ | ✔ | – | – | – | – | – | – | | Log incidents / HSE records | – | ✔ | ✔ | ✔ | ✔ | – | ✔ | – | – | | View dashboards & analytics | ✔ | ✔ | ✔ | (own site) | (own site) | ✔ | ✔ | – | ✔ (digest) | | View full document library | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | (shared only) | (shared only) | *(Role capabilities are configurable per organisation; the matrix shows defaults.)* --- ## 5. Platform & Technology | Layer | Choice | Rationale | |---|---|---| | UI | **Makepad (Rust)** | One codebase → native performance on mobile, desktop and web; smooth media-heavy UI | | Business logic | Rust core crate | Shared across platforms; testable; safe | | Local store | SQLite (per-device) | Offline-first storage, media queue, sync journal | | Backend | Rust API service (e.g. Xicta - check implemented nimanyatta server existing in this path (/Users/aok/Projects/rustdev/CratesCode/nimanyatta/src) to be extended to meet our requirements here) + PostgreSQL + S3-compatible object storage | Type-safe end-to-end; simple deployment | | Sync | Background delta sync with resumable media upload | Survives poor site connectivity | | AI | LLM API (cloud) with on-device fallback for voice-to-text | Description refinement, photo captioning, transcription, minutes, summaries | | Camera / GPS / Barcode–QR / OCR | Platform APIs via Makepad bindings | ID scanning, photo capture, geotagging | | Push & local notifications | FCM / APNs + local scheduler | Reminders work offline | | Auth | Email/phone + password, PIN + biometric app lock | Fast field access, secure at rest | **Target devices:** priority is Android (low-end phones common on site), then iOS, then desktop for supervisors and web for client/viewer access. --- ## 6. High-Level Architecture & Offline-First Strategy 1. **Every core action is a local transaction.** Capturing photos, writing entries, scanning IDs and chatting all write to the on-device SQLite store first; the app is fully usable with zero connectivity. 2. **Sync journal.** All changes queue with the author, device and timestamp. When connectivity returns (Wi-Fi, hotspot), deltas upload; conflicts on shared documents (e.g. a report) are resolved by server arbitration and flagged for the Report Master. 3. **Media pipeline.** Photos/GIFs are compressed client-side, stamped with **timestamp + GPS + site name watermark** as evidence, then uploaded resumably. Originals retained per retention policy. 4. **Server-side authority.** Approvals, signatures, report locking and role permissions are enforced server-side — never client-only — so records are tamper-evident. 5. **Audit log.** Every create/edit/approve/lock/share event is recorded immutably (who, what, when, from where). --- ## 7. Functional Scope --- ### Phase 0 — Foundation & Platform **[NEW]** *(Omitted in the original scope; without it, none of the other phases can ship.)* - **FR-0.1 Organisation & user management** — Company (organisation) creation; invite-based onboarding by email, phone or share link; user profiles with role assignment per site. - **FR-0.2 Roles & permissions** — Implement the §4.2 matrix; server-enforced. Consultants and clients are scoped strictly to what is shared with them. - **FR-0.3 Site registry** — Create sites with name, geolocation, project type, working hours (per-site), team assignment and optional geofence. - **FR-0.4 Offline-first core** — All Phase 1–6 features operate offline; background sync; visible sync status indicator (pending/synced/error). - **FR-0.5 App security** — PIN/biometric lock, auto-lock, remote device revocation, encrypted local database. - **FR-0.6 Notification centre** — In-app inbox of all alerts (approvals, mentions, reminders, escalations) + push notifications. - **FR-0.7 Audit trail** — Immutable activity log per report, task, order and document; exportable. - **FR-0.8 Settings** — User profile, drawn signature image, language (English/Swahili), dark mode, notification preferences, storage management. --- ### Phase 1 — Daily & Monthly Reports #### Capture & documentation - **FR-1.1 [BASE] Photo/GIF capture** — Take pictures or short looping clips (GIF/MP4) of the task being performed; multi-select from gallery; each item stamped with timestamp, GPS coordinates and site watermark. **[ENHANCED]:** annotation on photos (arrows, circles, text), and capture of a short **voice note** per entry. - **FR-1.2 [BASE] Task description with rich text** — Description editor supporting **bold, underline, italic** and **bullet/numbered lists**. **AI refine** action: fix grammar, professionalise tone, expand terse notes into clear narrative — while preserving the user's facts. **[NEW]:** voice-to-text dictation; AI-assisted photo captioning; per-entry category (e.g. concrete works, plumbing) for later aggregation. - **FR-1.3 [BASE] Document generation** — Generate the day's entries (photos + descriptions) into a formatted **PDF and Word (.docx)** document: branded cover page (company logo, project, site, date, author), table of contents for longer reports, photo grid with captions. **[NEW]:** customisable templates; automatic report numbering (e.g. `DR-SITE01-2026-09-25`). #### Collaboration & verification - **FR-1.4 [BASE] Multi-user contribution** — Multiple users on site add entries to the day's report. The **Report Master** compiles, verifies and **approves** the report before it is official; contributor list and their entries are visible in the document. **[ENHANCED]:** contributors see entry status (pending/accepted/returned with comment); approval captures a **drawn or typed digital signature**; approved reports are **locked and versioned** (resubmission creates a new version with a change log). - **FR-1.5 [BASE] Multi-site compilation** — Site supervisors/personnel create reports for their individual sites; the **Overall Supervisor** generates a **compiled daily report** consolidating all submitted sites — per-site sections plus an executive summary page. **[NEW]:** compilation flags missing sites (not yet submitted) and can send a chase notification; consolidated export to PDF/Word. #### Reminders - **FR-1.6 [BASE] Daily capture reminder** — Configurable reminder (default **1 hour before end of working hours**, per-site working hours) to take pictures and create the report. **[NEW]:** escalation nudge to the supervisor if no report has been started 30 minutes after shift end. - **FR-1.8 [BASE] Monthly report reminder** — Reminder to generate and review the monthly report **72 hours before the planned site meeting date** (configurable lead time). #### Monthly reporting - **FR-1.7 [BASE] Monthly accumulation** — Automatically accumulate the month's approved daily reports into a **monthly report**: all tasks executed, photo highlights, per-category totals. **[ENHANCED]:** AI-generated executive summary and progress narrative; auto-embedded statistics (manpower by day, materials received, delays, HSE stats); export to **PDF, Word and PowerPoint** for the meeting presentation. #### Supporting site-diary data **[NEW]** *(standard content of a professional daily site report, omitted in the original scope)* - **FR-1.9 Weather conditions** — Auto-fetched weather at site + manual override; feeds delay justification and the monthly report. - **FR-1.10 Manpower & plant log** — Workers on site by trade/department (auto-filled from Phase 2 attendance), equipment/machinery on site with hours operated. - **FR-1.11 Materials received today** — Deliveries captured against orders (auto-links Phase 5). - **FR-1.12 Delays & hindrances** — Structured delay log with reasons (weather, labour, materials, design, access) and lost-time estimate; rolls into monthly summary. - **FR-1.13 Visitor log** — Who visited, purpose, time in/out. - **FR-1.14 Report lifecycle & archive** — Status workflow `Draft → In Review → Approved → Locked`; full-text search and filterable archive by site, date, author, status; batch export. --- ### Phase 2 — Workers Report Table - **FR-2.1 [BASE] ID scanning** — Scan casual workers' IDs (national ID, work permit, NCA card) via OCR; capture name, ID number and photo; assign **work department/station**. Duplicate detection prevents double registration. **[ENHANCED]:** consent capture and encrypted storage of ID data; consent flag required before storage. - **FR-2.2 [BASE] Daily workers table** — Auto-generate the table of workers present on the day: names, departments, work stations, with headcount summary by department/trade. Exportable as PDF/Excel and attachable to the daily report. - **FR-2.3 [NEW] Attendance & timesheets** — Clock-in/clock-out per worker (with optional geofence check); hours and overtime computed; export **payroll-ready CSV** (per department, per day/week/month). - **FR-2.4 [NEW] QR quick check-in** — Generate printable QR badges for repeat workers so the next day's attendance is a scan, not a full ID capture. - **FR-2.5 [NEW] Worker register & flags** — Site worker register with status (active/inactive), skills/trade tags, and an organisation-level blocklist. - **FR-2.6 [NEW] Privacy controls** — ID images encrypted at rest, retention policy (auto-purge after configurable period), and full deletion on worker offboarding — aligned to data protection law (see §12). --- ### Phase 3 — Chat & Communications - **FR-3.1 [BASE] Site chat** — One-to-one and group chat for site communications; dedicated **site channels** (e.g. Announcements, Site A – General) with membership tied to site teams. - **FR-3.2 [BASE] File sharing** — Share **reports, approval documents and minutes** in chat with inline preview; shared documents open in the app viewer. - **FR-3.3 [NEW] Chat essentials** — Read receipts, @mentions with push notification, pinned messages, message search, offline send-queue with delivery on reconnect. - **FR-3.4 [NEW] Bot notices** — Automatic posts into channels for key events (report approved, meeting scheduled, purchase order issued, task inspection due) so the channel becomes the site's live feed. - **FR-3.5 [NEW] Broadcast** — Overall Supervisor broadcasts a message to all sites' channels at once. - **FR-3.6 [NEW] Moderation & retention** — Channel admin roles, mute, archive, and message retention policy. --- ### Phase 4 — Task Schedule, Approval Documentation & Status - **FR-4.1 [BASE] Task templates by project type** — Auto-generate the construction activities template (main tasks and subtasks) from the user-defined **nature of the site** (residential building, warehouse, apartment estate, market, hospital, school, road, etc.). **[ENHANCED]:** AI generates a tailored breakdown from project type + a short scope description; templates are fully editable and reusable as the organisation's own library. - **FR-4.2 [BASE] Full program of works** — Define all construction activities from project start, or adopt the template **mid-project** by marking actual progress so far, then itemise tasks and sub-tasks through to project end. - **FR-4.3 [BASE] Timelines & quantities** — Set start/end dates and durations per task/subtask, and **material quantities** per task (feeds Phase 5 material schedule). **[ENHANCED]:** dependencies between tasks, milestones, and baseline vs actual tracking with slippage alerts. - **FR-4.4 [BASE] Task IDs & inspection routing** — Each task carries a unique ID assigned for inspection/approval by **internal** roles (Site Engineer, Site Agent, Foreman, Site Manager) and **external consultants**, enabling domestic approval and tracking. **[ENHANCED]:** per-task inspection **checklists** (pass/fail/NA with notes and evidence photos); approval captures signature, timestamp and identity. - **FR-4.5 [BASE] Status tracking** — Task status board: `Not Started / In Progress / Awaiting Inspection / Approved / Rework Required / On Hold`, with percentage complete and photo evidence per task. Daily report entries link to the tasks they relate to. - **FR-4.6 [NEW] Views** — Gantt (timeline) view, calendar view and list/board views; filter by status, responsible person, department or consultant. check this code in this path (/Users/aok/Projects/rustdev/CratesCode/nigig-org/crates/apps/nigig-build/src/construction_frame/pages/workspace/project_management) to be in its own crate and functionality extended to meet our requirements where site can just add it as a crate and implement functionality needed. - **FR-4.7 [NEW] Snag / defect list** — Log defects (punch list) with location, photo, assignee and due date; closure requires a closure photo and sign-off. Snag statistics feed the monthly report. - **FR-4.8 [NEW] RFI log** — Requests For Information raised to consultants/designers with response tracking and due dates; unresolved RFIs highlighted as delay risks. - **FR-4.9 [NEW] Variation register** — Record variation/change orders with justification, cost/time impact and approval trail, linked to affected tasks. --- ### Phase 5 — Procurement Schedule & Approval - **FR-5.1 [BASE] Material schedule & sourcing** — Create the material quantity schedule per task; record sourcing options across **hardware stores, agents and factories**. **[ENHANCED]:** required-vs-delivered auto-computation — the app shows remaining quantities to procure from deliveries already captured in daily reports. - **FR-5.2 [BASE] Directory** — Hardware, agent and factory directory: contacts, locations, categories, price lists. **[ENHANCED]:** supplier **rating** (price, delivery timeliness, quality) from history; price comparison across suppliers per material. - **FR-5.3 [NEW] Requisition → LPO workflow** — Raise a material requisition from the schedule; generate a numbered **Local Purchase Order (PDF)**; approval chain (Supervisor → Procurement → Admin) with signatures; status tracking `Requested → Approved → Ordered → Delivered → Closed`. - **FR-5.4 [NEW] Delivery capture & verification** — Capture delivery notes by photo/OCR, verify received quantities against the LPO, flag shortfalls/damages; receipts automatically update the material schedule. - **FR-5.5 [NEW] Budget tracking** — Budget vs actual spend per material and per task; variance highlighted for the monthly report. - **FR-5.6 [NEW] Payment record (optional module)** — Record payments/deposits to suppliers with receipt images; mobile-money payment capture (e.g. M-Pesa reference) for the Kenyan market. *(Full accounting is out of scope — see §17.)* --- ### Phase 6 — Site Meetings - **FR-6.1 [BASE] Schedule & reschedule** — Schedule and reschedule site meetings with date, time, venue/link, agenda and invited attendees (from the project directory); invites with RSVP; automatic reminders to all attendees. - **FR-6.2 [BASE] Project directory** — Maintain the project directory/list of all participants: name, company, role, contacts — used for invites, approvals routing and minute attribution. - **FR-6.3 [BASE] Listen to the meeting** — The app records meeting audio and listens to members speaking, with **speaker identification** (who said what). - **FR-6.4 [BASE] Auto minutes** — At the end of the meeting the app **prepares and generates minutes**: agenda items, key discussion points per speaker, decisions, and **action items with owners and deadlines**. Editor allows correction before finalising. - **FR-6.5 [BASE] Share minutes** — Distribute the approved minutes to attendees and interested parties via in-app chat, email and PDF/Word export. - **FR-6.6 [NEW] Agenda templates & pre-reads** — Standard meeting agenda templates (progress, safety, procurement, AOB); attach pre-read documents (monthly report, programme update) to invites. - **FR-6.7 [NEW] Action item tracker** — Action items from minutes become tracked items: due-date reminders, status, carry-forward of unresolved items into the next meeting automatically. - **FR-6.8 [NEW] Cross-linking** — Minutes reference (and link to) the reports, tasks, RFIs, snags and variations discussed. - **FR-6.9 [NEW] Transcription options** — English and Swahili speech recognition; export of the full transcript alongside the minutes. --- ### Phase 7 — Safety, Health & Environment (HSE) **[NEW]** *(Omitted in the original scope; expected by any professional client and mandatory for credible site records.)* - **FR-7.1 Incident & near-miss reporting** — Log incidents and near misses with photos, severity, persons involved, immediate action taken; escalation notification to supervisor and HSE officer. - **FR-7.2 Toolbox talks** — Record safety talks delivered: topic, date, attendees pulled from the worker register. - **FR-7.3 Safety inspections** — Scheduled inspection checklists (PPE compliance, scaffolding, housekeeping, electrical) with corrective actions, assignees and closure evidence. - **FR-7.4 Emergency information** — Per-site emergency contacts, assembly points and procedures; available offline. - **FR-7.5 HSE statistics** — Days since last incident, toolbox talk counts, open corrective actions — auto-embedded into the monthly report and dashboards. --- ### Phase 8 — Dashboards, Analytics & Client Access **[NEW]** - **FR-8.1 Site dashboard** — Live per-site view: programme progress %, workers on site today, daily report status (submitted/missing), open snags/RFIs, delays this month, spend vs budget. - **FR-8.2 Multi-site portfolio view** — Overall Supervisor sees all sites side by side with drill-down; traffic-light health per site. - **FR-8.3 Trends** — Manpower over time, task burn-down, materials consumed, report timeliness. - **FR-8.4 Client digest** — Automated weekly/monthly progress digest (summary + photo highlights) shared read-only with the client/owner; optional lightweight web portal access. - **FR-8.5 Export** — Any dashboard or chart exportable as PDF/image for presentations. --- ### Phase 9 — Document & Drawing Management **[NEW]** *(Required so "approval documents" and inspections have a controlled home.)* - **FR-9.1 Document library** — Central, permissioned library for drawings, contracts, approvals, permits, insurance certificates, survey reports. - **FR-9.2 Drawing revision control** — Revision register per drawing (Rev A/B/C…), supersede/withdraw with automatic notification to site teams; offline access to current revisions on device. - **FR-9.3 Transmittals** — Record of who received which document revision and when. - **FR-9.4 Upload & view** — Upload from camera or files; in-app viewer for PDF and images; search by name, type, discipline. --- ### Phase 10 — Integrations, API & Data Portability **[NEW]** - **FR-10.1 Calendar sync** — Two-way sync of meetings and reminders with Google Calendar and Outlook. - **FR-10.2 Share-out** — Email and WhatsApp share targets for reports, minutes and purchase orders. - **FR-10.3 Maps & weather** — Map view of site locations (site registry); weather service integration (FR-1.9). - **FR-10.4 REST API & webhooks** — Read APIs and webhooks for event push, enabling integration with accounting/ERP (e.g. pushing timesheet and PO data) and future extensions. - **FR-10.5 Backup & export** — Organisation-level data export (reports, registers, documents) as a complete archive; configurable backup schedule. --- ## 8. AI Capability Summary | Capability | Where used | |---|---| | Description refinement (grammar, tone, expansion) | Daily report entries (FR-1.2) | | Voice-to-text dictation | Report entries, chat, minutes editing | | Photo captioning suggestion | Report entries (FR-1.2) | | Task template generation | Programme of works (FR-4.1) | | Executive summary & progress narrative | Monthly report (FR-1.7) | | Meeting transcription + speaker identification | Meetings (FR-6.3) | | Minutes drafting (discussions → decisions → actions) | Meetings (FR-6.4) | | Anomaly nudges (e.g. report mentions rain but weather was clear; entry has no photo) | Report QA before approval | AI output is always **advisory** — the Report Master reviews, edits and approves before anything is final. All AI processing clearly labelled; sensitive ID data is **never** sent to external AI services. --- ## 9. Notifications & Reminders Summary | Trigger | Recipient | Default timing (configurable) | |---|---|---| | Capture photos / start daily report | Site team | 1 hour before shift end | | No report started (escalation) | Site + Overall Supervisor | 30 min after shift end | | Generate & review monthly report | Report Master + Supervisor | 72 hours before planned meeting | | Task inspection due | Assigned inspector | Morning of due date | | Approval requested / granted | Requester / approver | Immediate | | Snag / RFI / action item due | Assignee | 24 hours before due | | Meeting reminder | Invitees | 1 day + 1 hour before | | Incident logged | Supervisor + HSE | Immediate | | Delivery / LPO status change | Procurement requester | Immediate | --- ## 10. Non-Functional Requirements | Area | Requirement | |---|---| | **Offline** | All capture/report/attendance/chat-compose features fully offline; zero data loss on connectivity loss; sync resumes automatically | | **Performance** | App cold start < 3 s on a mid-range Android; photo capture → entry saved < 1 s; monthly report generation < 60 s | | **Media handling** | Client-side compression (target ≤ 1 MB per photo for sync); originals retained on device until synced; storage usage display and cleanup tools | | **Battery** | GPS and camera use optimised; background sync batched | | **Usability** | One-handed phone operation; large touch targets for field use; icon-driven navigation; English and Swahili UI | | **Reliability** | Local database integrity checks; crash-safe write queue | | **Scalability** | Support 100+ sites and 1,000+ workers per organisation without redesign | | **Compatibility** | Android 9+, iOS 15+, Windows 10+, macOS 12+, modern browsers (web) | | **Accessibility** | Dynamic text sizing; contrast modes | --- ## 11. Security - TLS 1.3 for all transport; AES-256 encryption at rest (server) and encrypted local database (device). - Biometric/PIN app lock; session timeout; remote device logout. - Server-side authorisation on every API call (roles per §4.2). - Tamper-evident approvals: every signature bound to user identity, device, timestamp and document hash. - Immutable audit log (FR-0.7) retained per policy. - Photo/GIF evidence watermarks cannot be edited within the app; edits create new versions. --- ## 12. Privacy & Compliance - Compliance with the **Kenya Data Protection Act, 2019** (and GDPR-aligned principles for international use): lawful basis, consent capture for worker ID data, purpose limitation, data minimisation. - Worker ID images/numbers: encrypted, access-controlled, retention-limited, deletable on request/offboarding. - Data residency option (hosting region selectable per organisation). - Role-based visibility ensures consultants/clients see only their scope. --- ## 13. Data Model Overview Core entities (simplified): ``` Organization 1─* Site 1─* DailyReport 1─* ReportEntry 1─* MediaItem │ └─* ApprovalEvent (signature, status) │ ├─1─* Worker 1─* AttendanceRecord ├─1─* Task (tree: main/sub) 1─* Inspection 1─* ChecklistItem │ ├─1─* SnagItem / RFI / Variation │ └─1─* MaterialRequirement ├─1─* Supplier 1─* PurchaseOrder 1─* Delivery ├─1─* Meeting 1─* Transcript 1─* Minutes 1─* ActionItem ├─1─* ChatChannel 1─* Message ├─1─* Incident / ToolboxTalk / SafetyInspection └─1─* Document (revision-controlled) User (role per org per site) — AuditEvent (global) ``` --- ## 14. Key Workflows **Daily report lifecycle** `Capture (photo/GIF + rich-text entry, offline OK) → contributors add entries → Report Master compiles → (AI refine/QA) → approve + sign → lock & version → auto-share (chat/email) → sync to cloud` **Multi-site compilation** `Each site submits → Overall Supervisor opens "Consolidated Daily" → selects sites/date → app generates per-site sections + executive summary → missing sites flagged/chased → export PDF/Word` **Monthly report** `Auto-accumulate approved dailies + HSE/procurement/progress stats → AI drafts executive summary → Report Master reviews/edits → export PDF/Word/PowerPoint → present at meeting` **Task approval** `Task in progress (evidence photos) → internal inspection (checklist + sign-off) → external consultant inspection where assigned → Approved / Rework → status board updated → links to daily report entry` **Procurement** `Material schedule shows shortfall → requisition → LPO raised → approval chain → order → delivery captured & verified → schedule and budget updated` **Meeting** `Schedule (agenda + pre-reads) → record + transcribe (speaker ID) → AI minutes draft → edit & approve → share → action items tracked → unresolved items carry forward` --- ## 15. Traceability — Original 22 Items → This Specification | Original item | Covered by | |---|---| | 1. Picture/GIF of task | FR-1.1 | | 2. Description + AI refine + rich text | FR-1.2 | | 3. PDF/Word generation | FR-1.3 | | 4. Collaboration + Report Master verification | FR-1.4 | | 5. Multi-site compiled reports | FR-1.5 | | 6. Reminder 1 h before end of work | FR-1.6 | | 7. Monthly accumulation | FR-1.7 | | 8. Monthly reminder 72 h before meeting | FR-1.8 | | 9. Scan casual worker IDs + department | FR-2.1 | | 10. Workers table by day/station | FR-2.2 | | 11. Chat, share reports/approvals/minutes | FR-3.1, FR-3.2 | | 12. Task templates by site nature | FR-4.1 | | 13. Full project task itemisation (incl. mid-project) | FR-4.2 | | 14. Timelines + material quantities | FR-4.3 | | 15. Task IDs + internal/external inspection | FR-4.4, FR-4.5 | | 16. Material quantities + sourcing | FR-5.1 | | 17. Hardware/agent/factory directory | FR-5.2 | | 18. Schedule/reschedule meetings | FR-6.1 | | 19. Project directory | FR-6.2 | | 20. App listens to meeting | FR-6.3 | | 21. Generate minutes | FR-6.4 | | 22. Share minutes | FR-6.5 | All additions introduced by this document: **Phase 0 (foundation), FR-1.9–1.14, FR-2.3–2.6, FR-3.3–3.6, FR-4.6–4.9, FR-5.3–5.6, FR-6.6–6.9, and Phases 7–10 in full.** --- ## 16. Release Roadmap | Release | Content | Rationale | |---|---|---| | **R1 — MVP** | Phase 0 + Phase 1 (FR-1.1–1.8, 1.14) | Core value: verified daily reports, multi-site compilation, monthly packs | | **R2** | FR-1.9–1.13 (site-diary data) + Phase 2 (attendance) + Phase 3 (chat) | Completes daily field operations | | **R3** | Phase 4 (programme & approvals) + Phase 5 (procurement) | Planning and materials control | | **R4** | Phase 6 (meetings) + Phase 7 (HSE) | Governance and safety | | **R5** | Phase 8 (dashboards/client portal) + Phase 9 (documents) + Phase 10 (integrations) | Oversight, control and ecosystem | Indicative effort: R1 is the critical path; subsequent releases can proceed in parallel streams once the Phase 0 platform exists. --- ## 17. Out of Scope (v1) - Full payroll processing and statutory deductions (app **exports** payroll-ready data only) - Accounting/bookkeeping (via API integration instead) - BIM/CAD authoring or editing (documents are viewed, not edited) - Equipment telematics / IoT sensor integration - Client-side internet-free AI (cloud AI with graceful offline degradation only) --- ## 18. Open Questions 1. Hosting model — regional cloud vs. on-premise for larger contractors? 2. Commercial model — per-user subscription, per-site, or freemium? 3. Preferred AI provider and budget for LLM/transcription usage? 4. Priority document format — is Word parity with PDF required on day one, or PDF-first? 5. Does the client/viewer web portal need to be in R1 or can it wait for R5? 6. Retention period for worker ID data (legal/HR guidance)? 7. Should worker attendance include biometric verification (with its additional legal requirements), or photo/QR sufficiency confirmed? --- ## 19. Glossary | Term | Meaning | |---|---| | **Report Master** | Person responsible for preparing, verifying and approving site reports | | **Overall Supervisor** | Manager consolidating reports from multiple sites | | **LPO** | Local Purchase Order | | **RFI** | Request For Information (formal query to a consultant/designer) | | **Snag list / Punch list** | List of defects to be corrected before acceptance | | **Variation** | Contracted change to scope, cost or time | | **HSE** | Health, Safety & Environment | | **NCA** | National Construction Authority (Kenya) | | **Programme of works** | The scheduled breakdown of all project activities | | **Geofence** | Virtual GPS boundary used to verify presence on site | | **DPA 2019** | Kenya Data Protection Act, 2019 | --- *End of document — SiteRipoti Scope v1.0. Feedback from stakeholders to be incorporated in v1.1.*