The day-to-day painter. On the wall, on the clock, in the truck.
Clock self in/out on assigned projects
Add + edit own shifts only
Chat in project channels + DMs
Check tools IN + mark for repair
Ask Mr. Z in Pro Tips (read-only)
See only projects they're assigned to
Tier 2
🎯 Lead trusted
A foreman. Runs a crew on site, submits the daily check-in, talks to customers.
Everything crew can do, plus:
Upload + annotate project photos
Submit + review daily check-ins
Edit anyone's time clock · clock others in/out
Approve + reorder Portfolio photos
Edit summaries (Pro Tips+), reply to customer Qs
Run Mr. Z mutating tools via confirm cards
Tier 3
👑 Admin full control
The owner / GM. Creates work, pays the crew, sets the rules.
Everything crew + lead can do, plus:
Create/edit/archive jobs
Add + manage crew + roles
Delete shifts, run Gusto payroll
Full Mr. Z agent (50+ tools)
Edit company settings, SOPs, reminders
Leadership Report + crew ratings
🪜 Crew — The Backbone
Who Is a Crew Member?
Crew is the default role. Every new account starts as crew unless an admin promotes them. Crew are the hands on the project — they clock in, paint, take photos, and chat with the rest of the team. Everything they see in the app is filtered down to only the jobs they're personally assigned to, so the interface stays focused on their actual work.
What Crew Sees in the Sidebar
📊Dashboard
⏰Time Clock
📆Schedule
🏘️The Porch
Pro Tips
🪵The Pitstop
🔧Tools
💬Chats
🏗Projects
📖Playbook
🖼️Portfolio
⚙️Admin
Portfolio, the Admin panel, and Mr. Z Reminders are hidden for crew. Pro Tips and The Pitstop (both Mr. Z chats) are available — but crew gets read-only answers; mutating tools only fire for lead + admin.
What Crew Can Do
⏰
Clock themselves in and outTime Clock tab
The big green punch card at the top of the Time Clock tab. Picks a job from their assigned list, hits ▶ to clock in, ⏹ to clock out. GPS is captured on each punch. Mr. Z suggests the most-likely job based on their last shift and the schedule.
📝
Add their own missed shifts➕ Add Shift
If they forgot to clock in/out, they can manually add the shift for themselves — but only themselves. Every manual add requires a reason and is flagged in payroll as "➕ Added" so you see it.
✏️
Edit their own shifts✏️ Edit on shift row
Crew can only edit shifts they own. Changes are tracked in editHistory with their name + reason, and the shift gets an "✏️ Edited" badge. They cannot edit anyone else's time.
📸
View project photosProject → Photos tab
Read-only. Crew see every photo + video on projects they're assigned to (CompanyCam + direct uploads), tap to view full-size, and scroll the annotations. Uploading + annotating is lead/admin only — if crew need to add a photo, they should hand the phone to a lead or attach it in chat.
💬
Chat in job channels, DMs, and team roomsChats tab
Each job they're on has its own chat. They also have DMs and the team channels they're a member of. They can @mention Mr. Z with a question and get a read-only answer in the chat — but they can't run mutating Mr. Z tools.
🛠️
Check tools in, mark for repairTools tab
Any crew member can return a tool to the shop and flag something as needing repair. What they can't do: check a tool out to a new job (that's lead+), add a new tool to inventory, or edit/delete tool records.
📍
See their assigned jobsJobs + Home tabs
The Projects tab shows only jobs where their name is on the assignees list, or a team they belong to is assigned. The Dashboard widgets auto-pin those same jobs.
🎨
Read job summaries and paint specsJob → Summary tab
Read-only on the Summary tab. They can look up what paint goes where, what the customer wants, and what the task list is — but they can't edit the narrative or the checklist.
💡
Ask Mr. Z in Pro TipsSidebar Pro Tips · Job → Pro Tips tab
Everyone gets read-only access to Mr. Z as a helper. Crew can ask what paint goes on the trim, what the customer wanted on the bid, or how to handle a tricky situation. Crew cannot run mutating tools (adding shifts, editing summaries, etc) — those only fire for lead + admin via confirm cards.
🔔
Receive push notificationsOS push
Automatic reminders (clock-out nudges, recurring reminders targeted at crew/everyone) arrive as push notifications on every signed-in device.
What Crew Cannot Do
Hard Limits
Cannot: create or edit a project · edit another person's shift · delete any shift · clock someone else in/out · see projects they're not on · access the Admin panel, Portfolio, or Mr. Z Reminders · upload or annotate photos (lead/admin only) · delete photos · submit daily check-ins · add/edit/delete tools or check tools OUT · approve photos for the customer share · use Pro Tips+ (edit Summary / tweak share page) · run any mutating Mr. Z tool · see anyone else's hours in the Time Clock totals block (they only see themselves).
A Day in the Life of a Crew Member
🌅Open app
→
▶️Clock in on today's project
→
📖Read Summary + paint specs
→
💬Chat + ask Mr. Z
→
⏹Clock out
→
🔧Return tools
🎯 Lead — The Trusted Middle
Who Is a Lead?
A Lead runs a crew on site. They're the foreman for their project, they face the customer day-to-day, and they're trusted to make small scheduling adjustments without bothering the admin. Everything a lead can do is about running their job well — they still can't create new jobs or promote people, but inside a job they have the keys to almost everything.
What Lead Sees in the Sidebar
📊Dashboard
⏰Time Clock
📆Schedule
🏘️The Porch
Pro Tips
🪵The Pitstop
🔧Tools
💬Chats
🏗Projects
🖼️Portfolio
📖Playbook
⚙️Admin
Portfolio unlocks for lead. Inside each project, Pro Tips+ (edit Summary) and the Share subtab also unlock. Admin + Mr. Z Reminders stay locked.
Full in-app camera, gallery picker, and the photo annotator (arrows, circles, text, freehand, shapes). Uploads go straight to the project's photo roll. Leads also delete photos (bad shots, duplicates) and drive the CompanyCam-style camera dock during check-ins.
⏰
Clock any crew member in or out▶ Clock In Someone / ⏹ per row
Forgot-to-clock-in fixes and end-of-day cleanup. The "▶ Clock In Someone" button on the Time Clock tab opens a picker for crew + job. An inline ⏹ button on every open shift lets them end someone's timer with one tap. GPS is skipped for on-behalf punches and the shift is stamped with the lead's name as the authorizer.
✏️
Edit anyone's shift✏️ Edit on any shift row
Adjust clock-in / clock-out times, reassign a shift to a different job if someone clocked onto the wrong one, or add a missed shift manually for anyone. Every change requires a reason and is logged in the shift's editHistory.
📋
Submit the daily check-inJob → Check In button
The daily check-in form is a lead-only feature. It captures site notes, photos, customer questions, and schedule-status updates. The form's AI helper can auto-draft a polished customer-facing message for the admin to approve.
✅
Review, approve, discard, and delete check-insCheck-ins tab
Incoming check-ins from other leads pile up in the review inbox. Leads can approve them, discard ones that aren't needed, and (in v163+) permanently delete anything that's been discarded.
🎨
Approve photos for the customer galleryJob → Pro Tips+ Share subtab
Leads curate the subset of photos that show up on the public share link. Toggle "approved for customer" on individual photos, set captions, and toggle whether they appear on the job-location map.
🔀
Reorder portfolio photos🔀 on Portfolio tab
v163 added manual photo ordering for the portfolio grid and customer share page. Use ⤒ / ▲ / ▼ / ⤓ buttons in the reorder modal to move approved photos up or down.
📝
Edit the job summary and paint specsPro Tips → Edit Summary
Leads can rewrite any part of the summary — product lists, prep notes, special instructions, customer preferences. Mr. Z suggests edits, leads accept or rewrite them.
💬
Reply to customer questions on the share pageShare subtab
When a customer asks a question on the public share page, it shows up in the admin / lead reply panel. Leads can draft and post a reply (with Mr. Z's help) without waiting for the admin.
🤖
Use Pro Tips (Mr. Z co-pilot)Job → Pro Tips
The in-job AI chat. Ask Mr. Z to update the summary, generate a customer update, suggest a schedule fix, draft a check-in reply. Mutating tools go through a confirm-card the lead taps to approve.
📆
View the Schedule tabSchedule
Leads see the rolling 14-day calendar of every job they're on + teams they lead. They can see Mr. Z's auto-suggested schedule fixes but cannot change dates — edits are admin-only.
🧰
Check tools OUT to a jobTools → Check out
Crew can only check tools back in. Leads can assign a tool to a job (check out) so the inventory location updates. They still can't add a brand-new tool or delete one.
🗑️
Delete photos from a jobPhotos tab · long-press
Bad photos, duplicates, accidental uploads. Leads can delete; crew cannot.
What Lead Still Cannot Do
Hard Limits
Cannot: create a new job · archive a job · add / remove / promote crew members · edit a job's schedule dates · delete shifts (permanently) · run Gusto CSV payroll export · add / delete tools from inventory · edit company settings (business name, phone, email, paint store) · set up or edit recurring reminders · send admin-audit reminders · use the full Admin Mr. Z agent · see the Leadership Report or crew ratings · edit SOPs · change anyone's role.
A Day in the Life of a Lead
🌅Morning standup
→
▶️Clock self + crew in
→
📋Daily check-in form
→
📸Approve best photos
→
💬Reply to customer Q
→
⏹Clock everyone out
👑 Admin — The Apex
Who Is an Admin?
The admin is the owner or general manager. There should only be one or two. The admin holds every key — they can create jobs, hire and fire crew, set the pay period, run Gusto payroll, change the company phone number, and trust Mr. Z with high-stakes operations. They're also the only role with access to the full admin agent chat, where a single natural-language message can cascade into multiple tool calls against the database.
What Admin Sees in the Sidebar
📊Dashboard
⏰Time Clock
📆Schedule
🔔Mr. Z Reminders
🏘️The Porch
Pro Tips
🪵The Pitstop
🔧Tools
💬Chats
🏗Projects
🖼️Portfolio
📖Playbook
⚙️Admin
Everything unlocked. The Admin ⚙️ tab contains the full settings panel, the full-agent Pro Tips chat, SOPs, recurring reminders, crew management, and the Leadership Report.
Only admins can spin up a new job. Through the Admin panel or by asking Mr. Z, admin can also rename jobs, change status (estimate / active / accepted / completed / archived), set hours estimates, and archive work that's done.
👥
Assign crew and teams to jobsassign_to_job tool
"Put the north team on the Morgan job" — assignment also auto-pins that job in the assignees' sidebars. Admin can add, remove, or clear assignments via UI or Mr. Z.
🧑🎨
Add + edit crew, change rolesAdmin → Crew
Onboard new painters, promote a crew member to lead, demote, or deactivate someone. This is the only place roles can change — no other tier can edit role values.
🗑️
Permanently delete shifts🗑 Delete on shift row
Duplicate clock-ins, phantom shifts from a migration, anything that shouldn't be in payroll. Admin is the ONLY role that can delete (vs. edit) a shift.
📊
Export Gusto payroll CSVTime Clock → 📊 Export
Admin-only. Exports every shift in the current pay period (or all time) as a Gusto-compatible CSV with regular / OT split per employee per week. Edited and manually-added shifts are flagged "needs review" in the Notes column.
📥
Bulk-import shifts from CSVTime Clock → Import CSV
Migrate historical time data or paste in a spreadsheet of shifts from another system. Mr. Z parses the CSV, previews the rows, and commits them on confirm.
📆
Edit schedule dates + auto-scheduleSchedule tab
Admin sets job start / end dates, crew lead for each booking, and "not before" earliest start. Mr. Z's auto-scheduler proposes drag-and-drop arrangements; admin accepts or rejects them.
🧰
Add / edit / delete tools in inventoryTools tab
Expand the tool catalog, rename items, delete retired gear. Admins can also ask Mr. Z to bulk-add ("we got 3 more step ladders") and he'll create each one with the right category.
🔔
One-off + recurring remindersAdmin → Reminders
Admins can send an immediate push to any crew or group ("Grab the sprayer") or set up a recurring reminder ("Every Monday 8am, remind leads to submit check-ins"). Every reminder is logged for audit.
🤖
Full Mr. Z agent chatAdmin → Mr. Z
The apex AI experience. Admin can say "add a job for 1212 Main, 40 hours, give it to Ben and the south team, remind everyone Monday" and Mr. Z chains tool calls in one turn with confirm cards for each mutation. 50+ tools available: jobs, crew, summaries, tools, time clock, reminders, memory.
🧠
Teach + prune Mr. Z's company memoryremember / forget tools
"Remember we always strip oak stairs first" — the fact goes into the lore bank Mr. Z loads into every future conversation. Forget does the opposite. Only admin can edit the memory.
⚙️
Edit company settingsAdmin → Settings
Business name, phone, email, default paint store, default hourly rate, work-week start day — all in one place, all admin-only.
📚
Edit SOPs (company playbook)Admin → SOPs
Standard operating procedures visible to all crew but editable only by admin. Use for process docs, checklists, safety briefings.
1-10 rating per crew member plus structured reviews. Seed scores from uploaded leadership reports. Admin-only view.
🌐
Customer share page editorJob → Share subtab
Toggle the public share link on / off, regenerate the slug, edit the customer intro + FAQ, set the contact info on the page footer. Lead can edit most of this too, but admin is the only one who can turn sharing on or off.
A Day in the Life of an Admin
☕Coffee + dashboard
→
🤖Ask Mr. Z: "who's close to OT?"
→
➕Add new estimate job
→
📆Schedule next week
→
📊Export Gusto CSV
→
💬Reply to 3 customers
Full Permission Matrix
Every capability in the app, mapped to every role. ● = can do it, ○ = blocked, ◐ = partial / self-only.
Capability
Crew
Lead
Admin
Notes
Navigation
Home dashboard
●
●
●
Same dashboard, filtered content
Time Clock tab
●
●
●
Crew sees only self; lead+admin sees everyone
Projects tab
●
●
●
Crew/lead filtered to assigned; admin sees all
Chats tab
●
●
●
Only channels they're in
Tools tab
●
●
●
Admin sees edit controls
Schedule tab
○
●
●
Lead views, admin edits
Portfolio tab
○
●
●
Cross-job photo library
Admin ⚙️ tab
○
○
●
Full control center
SOPs
◐
◐
●
All can read; only admin edits
Jobs
View own / assigned jobs
●
●
●
Assigned = on the assignees list
View ALL jobs
○
○
●
Create new job
○
○
●
Edit job (name / hours / status)
○
○
●
Assign crew to job
○
○
●
Auto-pins the job for assignees
Archive job
○
○
●
Summary & Tasks
Read job summary
●
●
●
Edit job summary
○
●
●
In Pro Tips+ subtab
Add task to checklist
○
○
●
Admin or Mr. Z agent only
Photos & Portfolio
View project photos
●
●
●
CompanyCam + direct uploads
Upload photos
○
●
●
Lead/admin only
Annotate photos
○
●
●
In-app annotator
Delete photo
○
●
●
Approve photo for customer
○
●
●
Toggle "approved for customer"
Reorder portfolio photos
○
●
●
v163 feature
Toggle photo on customer map
○
●
●
Time Clock
Clock self in / out
●
●
●
GPS captured
Clock someone else in / out
○
●
●
Audit: onBehalfBy stamp
Edit own shift
●
●
●
With reason
Edit anyone's shift
○
●
●
Add own manual shift
●
●
●
Add manual shift for someone else
○
●
●
Delete shift
○
○
●
Permanent
View all crew hours
○
●
●
Crew sees only own totals
Export Gusto CSV
○
○
●
Import shift CSV
○
○
●
Check-ins
Submit daily check-in
○
●
●
Review pending check-ins
○
●
●
Approve / discard check-in
○
●
●
Permanently delete discarded
○
●
●
v163
Tools Inventory
Check tool IN (return)
●
●
●
Check tool OUT (to job)
○
●
●
Mark tool needs repair
●
●
●
Mark tool fixed
○
○
●
Add new tool to inventory
○
○
●
Edit / delete tool
○
○
●
Customer Share Page
View share page (public)
●
●
●
Anyone with link
Enable / disable sharing
○
○
●
Edit intro + FAQ
○
●
●
Reply to customer questions
○
●
●
Mr. Z AI
See passive summary suggestions
●
●
●
Read-only bubbles in chat
@mention Mr. Z in chat
●
●
●
Read-only answers
Pro Tips co-pilot (in-job)
○
●
●
Can run mutating tools via confirm card
Full Admin Mr. Z panel
○
○
●
50+ tools
Teach Mr. Z (remember / forget)
○
○
●
Crew & Teams
Add new crew member
○
○
●
Edit crew name / username
○
○
●
Change someone's role
○
○
●
crew ⇆ lead ⇆ admin
Manage teams
○
◐
●
Lead can see own teams
Reminders & Settings
Receive push reminders
●
●
●
Send one-off reminder
○
○
●
Create recurring reminder
○
○
●
View reminder audit log
○
○
●
Edit company settings
○
○
●
Name, phone, email, rate
Leadership Report + ratings
○
○
●
Common Workflows by Role
📆 Scheduling a New Job
👑Admin creates job
→
👑Admin assigns lead + crew
→
📅Admin sets dates
→
🎯Lead sees on Schedule
→
🪜Crew job auto-pins
⏰ Fixing a Forgotten Clock-In
If the crew member notices first
🪜Crew taps ➕ Add Shift
🪜Picks job + times + reason
✅Shift appears with "Added" badge
If the lead/admin notices first
🎯Lead taps ▶ Clock In Someone
🎯Or asks Mr. Z: "clock Ben in on Johnson"
✅Shift logged with onBehalfBy stamp
💬 Customer Asks a Question on the Share Page
🌐Customer posts question
→
🔔Push notification to admin+lead
→
🤖Mr. Z drafts reply
→
🎯Lead edits + posts
→
🌐Customer sees reply
📊 Running Pay Day
👑Admin opens Time Clock
→
👑Reviews edited / added shifts
→
👑Fixes any anomalies
→
📊Exports Gusto CSV
→
💰Uploads to Gusto
Mr. Z AI Access by Role
Mr. Z is the AI foreman baked into the app. Different tiers get different levels of access.
Crew
Read-Only Mr. Z
@mention Mr. Z in any chat
Ask for a summary or recap
Get clock-in suggestions (widget auto-fires)
No tool calls, no mutations
Lead
Pro Tips Co-Pilot
Full in-job AI chat on every assigned job
Draft summaries, customer replies, schedule fixes
Can run mutating tools via confirm card
Access to photo + file attachments in chat
Admin
Full Admin Agent
Everything lead gets, plus:
50+ tools: jobs, crew, tools, reminders, time clock, memory
Every mutating Mr. Z tool call — regardless of who's asking — shows a confirm card in chat. The card describes exactly what will happen ("Add job: 1212 Main — 40h"). Nothing is executed until the user taps Confirm. That confirm button IS their yes/no; Mr. Z won't ask "are you sure?" in text.
How to Promote Someone
Only admins can change roles. There are two ways.
Via UI
Open the Admin ⚙️ tab
Go to Crew
Tap the person's name
Change the role dropdown: crew → lead → admin
Save. The change is live instantly on their device.
Via Mr. Z
In the admin Mr. Z chat, type something like:
"promote Ben to lead"
Mr. Z calls edit_crew_member with the new role. A confirm card pops up. Tap Confirm. Done.
Be careful with admin promotions
Admins can do everything: create jobs, pay payroll, delete data, rewrite company memory. Only promote someone to admin if they're a full partner / co-owner. For trusted foremen, lead is usually the right call.
"Why Can't I See That?"
A quick cheat sheet for when a crew member says a tab or button is missing.
Symptom
Likely Cause
Fix
No Schedule / Portfolio tab
User is crew-tier (lead/admin only)
Promote to lead in Admin → Crew
No Admin ⚙️ tab
Not admin role
Admin promotes them
Can't see a job they worked on
Not on assignees list
Admin adds them via assign_to_job
"You can only edit your own hours" alert
Crew trying to edit someone else's shift
Hand it to a lead / admin
"Only admin can delete shifts" alert
Lead trying to delete (not edit) a shift
Ask admin to delete it
Gusto export button missing
Not admin
Admin-only
Can't approve a photo for customer
Crew-tier
Lead or admin does it in Pro Tips+ Share
App shows old / stuck version
Cached PWA
Close the app fully + reopen — v-mismatch auto-reset kicks in
TL;DR
Crew punches the clock, reads the plan, and paints. Lead runs the crew on site, shoots the photos, and talks to customers. Admin owns the business and holds every key.
Pezley Portal v164 · Generated October 19, 2026 · Single source of truth: src/App.js