Everything the Makki app can do today — 2026-09-15
Written for Omar on his order (voice, 20:52 UTC): "text me every single thing this thing can do." Every line below is a screen or action that exists in portal/ right now and was verified in a browser. Nothing planned, nothing invented. All data is demo until the owner's real data is connected. Nothing in the app sends a text, email or call — by rule.
Sources: portal/roles.js (the tab list per login), profile/Walkthrough_2026-09-10.md, profile/Walkthrough_2026-09-15_app2.md, profile/Walkthrough_2026-09-15_map.md, profile/Fieldflo_vs_Makki_Comparison.md.
Five logins
Owner (the owner) · Bookkeeper · Estimator · Site lead (foreman) · Crew (labourer). Each sees only its own tabs and only its own fields. A login that is not allowed a number never receives it — the estimator's data has no profit field at all, the crew's pages carry no dollar sign.
OWNER — The owner sees everything (7 groups, 15 pages — regrouped 2026-09-15 on Omar's "seven tabs")
The rail shows seven groups. A group opens on its first page and unfolds its pages under it; on the phone the bar holds the seven groups and the page shows the sub-tabs. Every page below is still its own switch on Team & Access.
1. Dashboard
- Dashboard — revenue, jobs, outstanding money, profit; revenue vs profit trend; where the cost goes; who has paid / not paid; recent jobs; who is on site today (per crew: started, site, men, safety talk done, hours confirmed); bid vs actual per open job (hottest first); a bid-vs-actual-by-cost-code summary card (budget, spent, variance, codes over, three biggest codes) that clicks through to the Project Book; overtime flag (anyone over 32 h this week, red at 40); job-site map of Calgary with a downtown inset, one pin per active job coloured by status, hover for address / status / contract value, click opens the job, legend to hide/show by status or area.
2. Jobs (bid → win → run)
- Pipeline — quotes by stage, win rate, what is waiting.
- Proposals — turn any quote into a printable proposal (scope, inclusions / exclusions, price + GST, terms, signature lines) under a DRAFT band. The owner prints or saves as PDF and sends it himself.
- Jobs & P&L — every job: status, sell price, costs broken down, profit, margin. Click a job for its P&L.
- Project Book — one book per job: scope; permits with expiry warnings; tickets the job needs; crew readiness (who is blocked and why); waste and hauling line; cost codes (7 codes, budget vs spent vs variance); change orders and T&M day logs (draft → sent → approved / declined; approving raises the revised contract); photo log (before / during / after / closeout, taken from the phone); documents the job requires; printable closeout report. The full bid-vs-actual-by-cost-code table across all open jobs now lives here (moved from the Dashboard, one place only).
3. Schedule (same week, two views)
- Schedule Board — crews × days, two weeks. Drag a job to another day or crew; the board refuses the drop if the crew lacks a ticket the job needs. Click-to-move also works. Phone: tap-and-hold. "Text the week to the crew" shows the message per man, marked not sent.
- Timeline — every open job as a bar by crew, week headers, today marked. Click a bar for the job.
4. Money
- Collections — finished but not invoiced, overdue by age, holdbacks.
- Payroll — hours per man per day and per job, 32+/40+ flags, rate and pay, labour cost per job, Approve this week (records who / when), Export CSV.
- QuickBooks — not connected. Shows what would sync (customers, jobs, invoices, payments, employees) and the CSV fallback. Waits on the owner's login.
5. People
- Team & Access — every person: trade, crew, phone, start date, day rate, tickets. "Who sees what": one switch per page per person; flipping it really changes that login. Switch every page of a group off and the group itself disappears from that person's rail.
- Tickets & Certs — every man's tickets, 30 / 60-day expiry warnings, expired flagged; hard-hat QR code per man (inspector scans, sees live tickets, no login); "Put a man on a crew" — refused if he lacks a ticket the crew or the job needs; old tickets archived, never deleted.
6. Safety
- Safety — report an incident (near miss / stop work / injury) with a corrective action, owner and due date; corrective actions stay open until closed, overdue goes red; inspections log; safety-document library (JHA / SWP / toolbox talks / SDS) with which jobs require each one.
7. Gear
- Equipment — owned and rented assets, value and day rate, rental return reminders, inspection reminders, QR code per asset; scanning opens a read-only inspect page with no login.
- Inventory — consumables on hand (bags, coveralls), low-stock flag.
BOOKKEEPER (4 tabs + 1 optional)
Dashboard (money only, no cost, no profit) · Outstanding (who owes what, by age) · To Invoice (finished jobs not yet invoiced) · Payments (what came in) · Payroll hours (off by default; if the owner switches it on she sees hours only, no rates).
ESTIMATOR (5 tabs)
Dashboard · My Quotes · Win Rate · Proposals (his own quotes only) · Bid vs Actual (spent against his own bids — no sell price, no profit, no margin; the owner can switch this tab off).
SITE LEAD / FOREMAN (10 tabs)
- Dashboard — his crew, his jobs, his budget vs spent. No profit.
- Start Day — pick today's site → timesheet per man (edit hours, week-so-far with the 32 h flag); the ticket block fires per man against that job's required tickets; pre-job safety talk checklist → "Talk done — crew briefed"; site notes typed or spoken (browser speech-to-text, 6 languages); site photos from the phone camera into the job's log; send the end-of-day check to the crew (in-app); see each man's answer.
- My Jobs — his jobs with the full job book: scope, permits, tickets, cost codes (budget and spent, no variance), change orders (list, status, T&M days, no amounts), photos, documents, closeout report (site copy, no prices).
- Schedule — his crew's week.
- Crew Board — his crew's row on the board, same drag and ticket block.
- Timeline — his crew's bars.
- My Crew — his men's tickets and expiries.
- Safety — incidents and inspections on his jobs, corrective actions, the document library.
- Equipment — assets, reminders, QR inspect. No values or rates.
- Materials — shared disposal stock used on site.
CREW / LABOURER (4 tabs, built for a phone)
- Today — where he is working, what time, what the job needs.
- End of Day — "Your hours today: 8 h — did you attend the safety talk?" Yes / No / My hours are wrong. Answer lands on the foreman's sheet and the owner's dashboard.
- My Schedule — his week, this-week strip on top.
- My Tickets — his own tickets, expiries, his hard-hat QR code.
No login needed (QR scan pages)
- Hard-hat scan — a man's live tickets, read-only.
- Equipment scan — what it is, where it belongs, last / next inspection, return date. No values.
The four helpers that work by text (Telegram, this line)
- The Assistant — ask a question, get the exact number from the data: outstanding, jobs, a job, quotes, crew, tickets, inventory.
- The Collector — nightly: finished-not-invoiced, overdue by age, holdbacks. Drafts invoices to
outbox/invoices/. Never sends. - The Foreman's Voice — a foreman's voice note or text becomes a filed daily report with a 5-line confirmation.
- The Ticket Keeper — weekly: expiring tickets, who cannot be booked, renewal reminders drafted for the owner to send.
What it does NOT do yet (say it plainly)
- Send anything — texts, emails, invoices, proposals. Everything is drafted; the owner sends.
- Talk to QuickBooks, a payroll system, or a map service.
- Hold real documents, real photos, real cost codes or a real change-order form — placeholders until the owner hands his over.
- Write quotes (Estimator agent), put payroll hours onto jobs automatically (Job Coster), draft OHS reports (Safety Officer), pull from QuickBooks nightly (Clerk) — agents 5–8, not started, each waits on something from the owner (BUILD_PLAN §4).
- GPS clock-in, multi-approver payroll, claim walkthroughs, regulator reports, loadout lists, CRM / takeoff.