Everything that has to be seen on the Makki app — the master list (2026-09-16)
Written on Omar's order (voice, 2026-09-16 02:38 UTC): "How many different things need to be seen on the Makki website? Figure that out. Type them all out, number them all. Check the video and also check the PowerPoint and make sure they're all there."
"The website" = the owner's app, the portal. One row per thing a person has to be able to see or do. Nothing here is invented: every row comes from one of the sources below and says which.
Sources, cross-checked in this order
- The video —
profile/Fieldflo_Video_Workflows_2026-09-15.md, the notes taken off the Fieldflo demo recording of 2026-09-08 (43 min, Dan Szigeti showing the owner). Timestamps are that file's timestamps. - The deck —
profile/Deck_Copy_2026-09-15.mdand the renders inprofile/slides/export/2026-09-16_flowcharts/. 16 slides since the flow-chart pass of 2026-09-16. Slide numbers below are the new numbering. The steps on workflow slides 6, 8, 10 and 12 are repeated as the flow charts on 7, 9, 11 and 13, so a row that cites 6, 8, 10 or 12 is on its flow chart too. - Built today —
profile/App_Capabilities_2026-09-15.md,profile/Walkthrough_2026-09-15_tabs7.mdandportal/roles.js(the tab ids and the owner's seven groups). The exact place is writtenlogin › group › page. - Also read for anything planned but not in the video or the deck:
profile/Interface_Plan_vs_Fieldflo_2026-09-10.md,profile/Fieldflo_vs_Makki_Comparison.md,profile/Solutions_Plan_2026-09-15.md,profile/Fieldflo_Call_Transcript_2026-09-08.txt.
All app data is demo data until Omar says otherwise. Nothing in the app sends anything to anyone.
A. Getting in, and who sees what
| # | Thing to be seen | Who sees it | In the video? | In the deck? | Built today? |
|---|---|---|---|---|---|
| 1 | One login that opens the whole business | everyone | @2:37 | 1, 2 | Built — the portal login, five demo logins |
| 2 | Five logins, each seeing only its own slice | everyone | @2:37, @8:30 | 3 | Built — owner / bookkeeper / estimator / site lead / crew (roles.js TABS) |
| 3 | One switch per page per person, flipped while you watch | owner | @8:30 | 3 (the picture) | Built — Owner › People › Team & Access |
| 4 | A number a login may not see never reaches that login at all | owner sets it | no — theirs gated tabs only | 2, 3 | Built — field-level projections in roles.js |
| 5 | Makki's own logo and colours on every screen | everyone | @2:37 | no | Built — black + gold, Makki's logo, every page |
| 6 | Seven groups on the rail instead of fifteen tabs | owner | no | no | Built — Owner rail, GROUPS.owner |
| 7 | A labourer who never logs in at all | crew | @2:37 | 8 (steps 1, 7, marked not built), 15 (rows 1–3) | NOT BUILT — planned only (Labourer_By_Text_Plan_2026-09-15.md) |
B. The owner's dashboard
| # | Thing to be seen | Who sees it | In the video? | In the deck? | Built today? |
|---|---|---|---|---|---|
| 8 | Who is on site today, per crew: started, site, men, talk done, hours confirmed | owner | @3:40 | 8 (step 8) | Built — Owner › Dashboard › Dashboard |
| 9 | Bid vs actual per open job, hottest first | owner | @5:00 | no | Built — Owner › Dashboard › Dashboard |
| 10 | Bid vs actual per cost code: budget, spent, variance, codes over | owner (variance owner-only) | @5:00 | no | Built — summary card on the Dashboard, full table on Owner › Jobs › Project Book |
| 11 | Tickets and permits coming up for expiry, flagged before they lapse | owner | @5:00, @21:26 | 4 | Built — Owner › People › Tickets & Certs |
| 12 | Overtime flag: anyone over 32 hours this week | owner | @5:31 | 8 (step 8) | Built — Owner › Dashboard (red at 40) |
| 13 | Revenue, jobs, outstanding money and profit at a glance | owner only | no — Fieldflo showed no money screen in 43 min | 2, 3 | Built — Owner › Dashboard |
| 14 | A map of where the jobs are, one pin per active site | owner (each login only its own jobs) | @5:31 | no | Built — Owner › Dashboard, job-site map with a downtown inset |
| 15 | Where each man clocked in from | owner | @5:31 | no | NOT BUILT — no GPS clock-in |
| 16 | A digest of what needs attention, once or twice a day | owner | @10:42 | 14 (the nightly card) | PARTLY — the Collector runs nightly and the Ticket Keeper weekly, by text; no in-app digest, and nothing is sent to anyone but this line |
| 17 | One message pushed to the whole crew (PPE week, holiday party) | owner → crew | @5:31 | no | NOT BUILT |
| 18 | Counts of employees, clients and users, and the last injury form | owner | @5:31 | no | PARTLY — incidents are on the Safety page; no count tiles, no "last injury" widget |
| 19 | One head-office dashboard over several branches | owner | @24:23 | no | Closed by Omar 2026-09-15: Makki Demolition only, one company. Not wanted, not a gap |
C. Jobs — bid, win, run
| # | Thing to be seen | Who sees it | In the video? | In the deck? | Built today? |
|---|---|---|---|---|---|
| 20 | Quotes by stage, what is waiting, win rate | owner, estimator | @5:31 (their CRM tracks proposals sent, won / lost) | 6 (steps 1–2) | Built — Owner › Jobs › Pipeline; Estimator › My Quotes / Win Rate |
| 21 | A quote drafted in the owner's own pricing | owner, estimator | @34:47 (their takeoff tool) | 6 (step 1, dashed), 15 (row 6) | NOT BUILT — the Estimator helper; waits on a handful of the owner's past quotes |
| 22 | A printable proposal off that quote: scope, in / out, price + GST, terms, signature | owner, estimator | @21:26 (proposal builder) | 6 (step 3) | Built — Owner › Jobs › Proposals, under a DRAFT band; the owner sends it |
| 23 | A won quote becomes a live job in one tap | owner | @21:26 ("if it gets awarded, they'll drop in") | 6 (step 4) | Built — Owner › Jobs › Jobs & P&L |
| 24 | Job P&L: sell price, costs broken down, profit, margin | owner only | @21:26 (job costing estimates) | 2, 3 | Built — Owner › Jobs › Jobs & P&L |
| 25 | The project book: the one page that holds a job | owner, foreman | @21:26 | 6 (step 5), 12 | Built — Owner › Jobs › Project Book; Foreman › My Jobs |
| 26 | Permits on the job, with expiry warnings | owner, foreman | @21:26 | 6 (step 5), 12 (step 1) | PARTLY — permits and their expiry states are there; the permit document itself is not held |
| 27 | The tickets a job needs, set once on the job | owner | @21:26 | 6 (step 5), 12 (step 1) | Built — Project Book; it feeds every ticket block |
| 28 | Crew readiness for a job: who is ready, who is blocked and why | owner, foreman | @25:57 | 6 (step 5), 12 (step 3) | Built — Project Book |
| 29 | Cost codes on the job: budget, spent, variance | owner (foreman without variance) | @21:26 | 6 (step 5) | Built — Project Book |
| 30 | Change orders and T&M days: draft, sent, approved or declined | owner, foreman (no amounts) | @5:31 | 8 (step 6), 10 (step 2) | Built — Project Book; approving raises the revised contract |
| 31 | A photo log on the job: before, during, after, closeout | owner, foreman | @27:47 | 8 (step 5), 12 (step 6, dashed) | Built — photo log from the phone camera |
| 32 | The documents a job requires, kept on the job for good | owner, foreman | @21:26 | 12 (steps 5, 7) | Built — Project Book documents; placeholders until the owner's forms arrive |
| 33 | Waste and hauling on the job: hauler, landfill, material | owner, foreman | @21:26 ("waste reporting": haulers, material types, truck types, landfills) | 12 (step 4, dashed) | PARTLY — the waste and hauling line is there; the per-load manifest is not |
| 34 | A closeout report, ready to print | owner, foreman | @21:26, @36:37 | 10 (step 1) | Built — owner copy with prices, site copy without |
| 35 | Emergency contact filled in once, landing on every daily by itself | foreman | @21:26 | no | NOT BUILT |
| 36 | An insurance claim walked room by room for the adjuster | owner | @5:31 | 12 (step 6, dashed), 15 (row 5) | NOT BUILT |
| 37 | Takeoff and estimating off uploaded drawings | estimator | @33:12, @34:47 | no | NOT BUILT — and the owner was cool on it: "our estimators aren't fans" (@34:36) |
| 38 | A CRM: contacts, job walks, reach-outs | owner, estimator | @5:31 | no | NOT BUILT — The owner cut into that pitch to ask for QuickBooks (@8:00) |
D. The schedule
| # | Thing to be seen | Who sees it | In the video? | In the deck? | Built today? |
|---|---|---|---|---|---|
| 39 | A board of crews × days; drag a job onto a day and a crew | owner, foreman | @34:47 | 6 (step 6) | Built — Owner › Schedule › Schedule Board; Foreman › Crew Board |
| 40 | The board refuses a man who lacks a ticket that job needs | owner, foreman | @25:57 (theirs warns the supervisor and emails the office) | 6 (step 6), 7 (the diamond), 4 | Built — refused outright, checkAssign in roles.js |
| 41 | A timeline / Gantt of everything coming up | owner, foreman | @36:37 | no | Built — Owner › Schedule › Timeline |
| 42 | Each man's own week on his own phone | crew | @10:42, @34:47, @36:37 | no | PARTLY — Crew › My Schedule is built; sending the week out to him is not (the board previews the message, marked not sent) |
E. Money
| # | Thing to be seen | Who sees it | In the video? | In the deck? | Built today? |
|---|---|---|---|---|---|
| 43 | What is owed, by age | owner, bookkeeper | no | 10 (step 6) | Built — Owner › Money › Collections; Bookkeeper › Outstanding |
| 44 | Finished jobs not yet invoiced | owner, bookkeeper | no | 10 (step 3), 14 | Built — Collections; Bookkeeper › To Invoice |
| 45 | Holdbacks | owner, bookkeeper | no | 10 (step 6) | Built — Collections |
| 46 | An invoice drafted overnight and waiting for the owner to send | owner | no | 10 (step 3), 14 | Built — tools/collector.cjs → outbox/invoices/, DRAFT header, never sent |
| 47 | A payment marked against its job | owner, bookkeeper | no | 10 (step 5) | PARTLY — marked by hand; matching it on its own is not built |
| 48 | QuickBooks Online connected for real | owner | @12:48, @21:26 | 10 (step 4, dashed), 15 (row 4) | NOT BUILT — a preview screen only (Owner › Money › QuickBooks); waits on the owner's login |
| 49 | Weekly payroll approval: hours per man, per day, per job | owner | @36:37 | 10 (step 7) | Built — Owner › Money › Payroll, "Approve this week" records who and when |
| 50 | One spreadsheet out to the accountant | owner | @36:37 | 10 (step 7) | Built — Export CSV |
| 51 | The accountant seeing hours and never rates | bookkeeper | @8:14 — The owner's own unprompted ask | 10 (step 7), 3 | PARTLY — built and gated, but the Payroll-hours tab is off by default; the owner switches it on for her |
| 52 | More than one approver signing off payroll, with a trail | owner | @36:37 | no | NOT BUILT — single approver |
F. People and tickets
| # | Thing to be seen | Who sees it | In the video? | In the deck? | Built today? |
|---|---|---|---|---|---|
| 53 | Every man's tickets in one list, warned at 60 days and again at 30 | owner, foreman | @5:00, @17:30 | 4 (and its bottom strip) | Built — Owner › People › Tickets & Certs; Foreman › My Crew |
| 54 | The hard-hat code: an inspector scans it and sees that man's live tickets | no login at all | @12:48, @14:06 | 4, 8 (step 4) | Built — the scan page, read-only, no login |
| 55 | The man's own tickets on his own phone, expired ones included | crew | @14:06 | 4 (the picture) | Built — Crew › My Tickets |
| 56 | Adding a new ticket or renewing one from the app; the old one archived | owner | @17:30 | 4 (strip step 5 and its note) | PARTLY — the archive is there and nothing is ever deleted; there is no add / renew form |
| 57 | A PDF pack of certificates to send to anyone | owner | @17:30 | no | NOT BUILT |
| 58 | A person's record: trade, crew, phone, start date, day rate | owner | @15:51 | no | Built — Owner › People › Team & Access |
| 59 | Skills beyond tickets, and picking a crew by skill | owner | @15:51, @16:40 (training matrix) | no | NOT BUILT |
| 60 | Training pushed to a man's phone, in his language, signed with a PIN | crew | @14:06, @15:31 | no | NOT BUILT — and their $4-a-man video library is not ours to resell |
| 61 | Emergency contact details on the man | owner | @14:06 | no | NOT BUILT |
G. Safety
| # | Thing to be seen | Who sees it | In the video? | In the deck? | Built today? |
|---|---|---|---|---|---|
| 62 | Reporting an incident: near miss, stop work, injury | owner, foreman | @5:31, @27:47 | no | Built — Owner › Safety › Safety; Foreman › Safety |
| 63 | A corrective action that stays open until somebody closes it | owner, foreman | @5:31 ("they'll remain on this board until they fix it"), @27:47 | no | Built — Safety, overdue goes red |
| 64 | An inspections log | owner, foreman | @5:31, @19:01, @27:47 | no | Built — Safety |
| 65 | The safety document library: JHA, SWP, toolbox talks, SDS, and which job needs which | owner, foreman | @27:47 (their task library fills the paperwork in) | 12 (bottom strip), 15 (row 7) | PARTLY — 11 placeholders; real ones wait on the owner's OHS documents |
| 66 | One button that prints the file an inspector or the regulator asks for | owner | @5:31 (their OSHA reports and stats) | 12 (step 5, dashed) | NOT BUILT |
| 67 | The containment log: area, negative-air readings, smoke test, who was inside and how long | foreman | @27:47 | 8 (step 5), 12 (step 2, dashed), 15 (row 5) | NOT BUILT — needs the owner's own form |
| 68 | A waste manifest per load out: hauler, landfill, material, weight, scale-ticket photo | foreman | no — Dan said "waste reporting", never "manifest" (@21:26) | 12 (step 4, dashed), 15 (row 5) | NOT BUILT — The owner's own ask, from the abatement side of his work |
H. Gear
| # | Thing to be seen | Who sees it | In the video? | In the deck? | Built today? |
|---|---|---|---|---|---|
| 69 | Equipment and rentals: what we own, what is rented, value and day rate | owner (foreman without values) | @19:01 | no | Built — Owner › Gear › Equipment |
| 70 | A code on every machine: scan it and inspect it without logging in | no login at all | @19:01 | no | Built — the ?asset= read-only inspect page |
| 71 | Rental return and inspection reminders | owner, foreman | @19:01 | no | Built — Equipment |
| 72 | Consumables on hand, with a low-stock flag | owner, foreman | @19:01 | no | Built — Owner › Gear › Inventory; Foreman › Materials |
| 73 | A loadout list: what a job needs, out of the yard and back, cost-coded | owner, foreman | @19:01 | no | NOT BUILT |
| 74 | A project inventory report: ordered, returned, consumed | owner | @19:01 | no | NOT BUILT |
| 75 | Logging an inspection from the scan page, and a maintenance history per machine | foreman | @19:01 | no | NOT BUILT |
I. The foreman's day, on his phone
| # | Thing to be seen | Who sees it | In the video? | In the deck? | Built today? |
|---|---|---|---|---|---|
| 76 | One button that starts the day and brings up the right forms | foreman | @24:23 | 5, 8 (step 2) | Built — Foreman › Start Day |
| 77 | The timesheet per man: hours, the week so far, the 32-hour flag | foreman | @25:57 | 5, 8 (step 2) | Built — Start Day |
| 78 | Head starts on the timesheet: same as yesterday, or pull from the schedule | foreman | @25:57 | no | NOT BUILT |
| 79 | A man missing the job's ticket, flagged on the timesheet before he starts | foreman | @25:57 | 8 (step 2), 9 (the diamond) | Built — the ticket block inside Start Day |
| 80 | A cost code against each man's hours | foreman | @25:57 | no | NOT BUILT — cost codes sit on the job, not on the man's line |
| 81 | The pre-job safety talk, run off a checklist and signed off | foreman | @27:47 | 5, 8 (step 3) | Built — "Talk done — crew briefed" |
| 82 | Every man signing off that talk on his own phone, before work | crew | @27:47 | 8 (step 1, dashed) | PARTLY — he signs in the Crew login; the 6:45 text is not built |
| 83 | Site notes typed or talked into the phone, in his own language | foreman | @27:47 | 5, 8 (step 5) | Built — browser speech-to-text, 6 languages |
| 84 | Site photos straight from the phone into the job's log | foreman | @27:47 | 8 (step 5) | Built — Start Day |
| 85 | The office seeing the job start, to the second, without asking | owner | @25:57 | 8 (step 8) | Built — "Who's on site today" on the Dashboard |
| 86 | Each man confirming his hours at the end of the day | crew | @27:47, @9:40 | 8 (step 7, dashed) | PARTLY — Crew › End of Day is built; the 4:30 text is not |
| 87 | A foreman's voice note turned into a filed daily report | foreman | @27:47 (their dailies are talked into) | 14 | Built — tools/daily.cjs, on the text line, not a portal screen |
J. The crew's own phone
| # | Thing to be seen | Who sees it | In the video? | In the deck? | Built today? |
|---|---|---|---|---|---|
| 88 | Today: where he is working, what time, what the job needs | crew | @24:23 (their field app opens on projects) | no | Built — Crew › Today |
| 89 | His own week | crew | @36:37 | no | Built — Crew › My Schedule |
K. Run it by text
| # | Thing to be seen | Who sees it | In the video? | In the deck? | Built today? |
|---|---|---|---|---|---|
| 90 | Ask it a number by text and get the answer off your own data | owner | no | 14 | Built — tools/ask.cjs |
| 91 | Tell it to change something by text — "bump Crew B to Thursday" — and it changes | owner | no | no | NOT BUILT — The owner's own ask, Solutions_Plan_2026-09-15.md §2 |
| 92 | Every night: not invoiced, overdue by age, holdbacks | owner | @10:42 (their digest) | 14 | Built — tools/collector.cjs |
| 93 | Every week: expiring tickets and who cannot be booked | owner | @5:00 | 14 | Built — tools/tickets.cjs |
| 94 | The two labourer texts: the morning sign-off and the end-of-day hours | crew | @27:47, @9:40 | 8 (steps 1 and 7), 15 (rows 1–3) | NOT BUILT — needs a text number bought and the owner's crew list |
L. Setting it up, and the honest labels
| # | Thing to be seen | Who sees it | In the video? | In the deck? | Built today? |
|---|---|---|---|---|---|
| 95 | A DEMO header while the numbers are demo numbers | everyone | no | 15 (row 10), 16 | Built — and it stays until the owner picks the day it comes off |
| 96 | Employees, customers and jobs brought across from QuickBooks once | owner | @12:48, @21:26 | 15 (row 4) | NOT BUILT |
| 97 | A CSV import where there is no integration | owner | @12:48 | no | PARTLY — the CSV fallback is named on the QuickBooks screen; the import is not built |
| 98 | A short orientation video for managers, on how to use the app | everyone | no — The owner asked for one (@32:09); Fieldflo had none to show | no | NOT BUILT |
| 99 | A login the owner can click through before he signs anything | owner | no — The owner asked (@41:06) and was refused (@41:24) | 1, 16 ("Log in today") | Built — his portal is live for him now, on demo data |
| 100 | A Makki address instead of a pages.dev link | everyone | no | 15 (row 9) | NOT BUILT — waits on the hosting decision |
The four gap lists
Every number below is the row number in the table above. The lists were counted off the table itself, not by eye.
1. In the video, but nowhere in the deck — 34
Things Dan showed the owner that no slide of ours mentions. Each one is something he has already seen somewhere else and may ask about.
5 Makki's branding on every screen · 9 bid vs actual per job · 10 bid vs actual per cost code · 14 the job map · 15 where a man clocked in from · 17 a message pushed to the whole crew · 18 counts and the last injury form · 19 a head-office dashboard (closed by Omar — one company) · 35 the emergency contact that fills the daily by itself · 37 takeoff and estimating (the owner was cool on it) · 38 the CRM · 41 the timeline / Gantt · 42 each man's week sent to his phone · 52 more than one approver on payroll · 57 a PDF pack of certificates · 58 the person's record · 59 skills, and picking a crew by skill · 60 training pushed to the phone · 61 emergency contact details · 62 incidents · 63 corrective actions · 64 the inspections log · 69 equipment and rentals · 70 the code on every machine · 71 rental and inspection reminders · 72 consumables and low stock · 73 loadout lists · 74 the project inventory report · 75 inspecting from the scan page · 78 timesheet head starts · 80 a cost code per man · 88 the crew's Today page · 89 the crew's week · 97 a CSV import.
The heaviest of these: equipment and inventory (69–75 — The owner's "That's great", @21:20) and the certificates flow (57 — his "I haven't seen anybody else incorporate that", @18:54) are seven and one rows with no slide at all.
2. In the deck, but not built — 10
Every one of these is already marked "not built" on its own slide. Nothing on the deck is oversold.
7 labourers with no login (8, 15) · 21 the quote drafted in the owner's pricing (6 step 1) · 36 the claim walkthrough (12 step 6) · 48 QuickBooks connected for real (10 step 4) · 66 the regulator / OHS file (12 step 5) · 67 the containment log (8 step 5, 12 step 2) · 68 the waste manifest (12 step 4) · 94 the two labourer texts (8 steps 1 and 7) · 96 the QuickBooks first pull (15 row 4) · 100 a Makki address (15 row 9).
Half-built and named honestly on the slides as well: 47 matching a payment on its own (10 step 5), 82 and 86 the men answering in the Crew login instead of by text, 26 permits without the permit document, 33 waste and hauling without the per-load manifest, 51 the accountant's hours view, which is off until the owner switches it on, 65 the document library's placeholders.
3. Built, but not in the deck — 16
Finished work that the owner is not being shown.
5 Makki's branding on every screen · 6 seven groups instead of fifteen tabs · 9 bid vs actual per job · 10 bid vs actual per cost code · 14 the job map · 41 the timeline / Gantt · 58 the person's record · 62 incidents · 63 corrective actions that stay open until closed · 64 the inspections log · 69 equipment and rentals · 70 the code on every machine · 71 rental and inspection reminders · 72 consumables and low stock · 88 the crew's Today page · 89 the crew's week.
Recommendation, one line: the map (14), the timeline (41) and the equipment pages (69–72) are finished, they sit against screens the owner reacted to on the call, and they have no slide. That is the case for one more slide, if Omar wants one.
4. In neither the video nor the deck, but the owner asked for it — 2
- 98 — an orientation video for managers. the owner, @32:09: "Do you guys have like an orientation video for use of the program that we can kind of share with like managers?" Fieldflo had none to show him. Nobody has offered him one since.
- 91 — telling it to change something by text, not only asking it a number ("bump Crew B to Thursday").
Solutions_Plan_2026-09-15.md§2. Slide 14 promises answers, not instructions.
One more row is in neither the video nor the deck but came from Omar, not Owner: 6, the seven groups on the owner's rail (his order, 2026-09-15 20:59).
Deliberately not on this list: five companies in one login. Closed by Omar, 2026-09-15: Makki Demolition only.
The count
100 things in all · 85 of them were in the video · 63 of them are on the deck · 60 are built today · 12 are partly built · 27 are not built · 1 (a head-office dashboard over several branches) is closed and not wanted.