The Crews tab lists every crew with headline stats, its current project, its leader and a colour used across the schedule. Expanding a crew reveals its labour source, pay model, working week, members with field links and pay tiers, acceptance history, assigned projects and a danger zone. Internal crews sort above subcontractors.
Also called: set up a crew · add crew members · crew list · framing crew · crew colours
A crew is a colour on the schedule and a filter on the board
Every crew carries a colour used across the Build Schedule, so who is where reads without opening anything. Filter the board to one crew, and a crew with time off booked carries the marker on its own chip. The question a builder asks the schedule most often is which of my crews is free, and this is that question answered in one glance.
Time off books once and then enforces itself
Give a crew a date range and a reason — vacation, between projects, holiday, sick leave — and the crew flips inactive on the day and back at the end, with a notification each way. Nobody remembers to toggle a crew inactive on the Friday before, which is exactly how a job gets assigned to a crew that is away.
A crew can keep its own working week
Each crew inherits the company's working days unless somebody says this crew is different, and the picker shows what it is inheriting rather than making you go and look. Stage durations are counted in those days and non-working columns are shaded on the schedule. A concrete sub who pours Saturdays should not be planned Monday to Friday, and a job can override the crew where one build genuinely differs.
The crew leader stays the leader after a refresh
Leadership is stored on the crew as a durable pointer, not as a role flag that a background sync overwrites on the next page load, and every change is written to the audit log with the outgoing and incoming names. Signing the acceptance contract, closing out a stage from the field and seeing Today's Crew all hang off that answer being stable.
One card holds everything true about a crew
Expand a crew and you reach its type — internal employees or subcontractor — its pay model, its working week, its members with their field links and pay tiers, its acceptance history and its assigned projects. A crew lead or a field worker sees only their own crew, and only their own crew's jobs, wherever crews appear in the app.
- 1crewStore is Supabase-backed with an in-memory cache, a localStorage snapshot for instant first paint, and a subscriber list so any mutation re-renders every consumer.
- 2loadCrews merges crew_members with crew_members_sync (Clerk-invited users) so every consumer sees the combined membership.
- 3Crew-scope guards hide every crew except their own from a crew lead or worker, and filter the project lists the same way.
- 4Deleting a crew cascades its members via the FK; deleting a member is a single row delete.
- 5Clicking an assigned project jumps to the project modal through the shell so Back returns with the crew still expanded.
Crew membership was assembled correctly on the team page and nowhere else, so a crew showing one member there showed zero on the contacts screen and in the schedule — the same crew, different answers, depending on which page had been opened first. Membership is merged in one place now, so every screen that names a crew names the same people. Crews are created, named, staffed and given a lead here, and each one jumps straight to the projects it is working.
- Different screens disagreeing about who is on a crew.
- Crew facts scattered across unrelated settings pages.
- Crew-scoped users seeing other crews' work.
See it on your own jobs
Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.
or keep browsing features →