Timesheet — MVP Wireframes

Low-fidelity, structural only. For screen flow & layout validation — not visual design. Bekind Labs · D&F.

Navigation flow
Login Role-routed home Consultant · Weekly Timesheet / Manager · Approvals / Lead · Project Dashboard / Ops · Setup + Reports
Role (consultant / manager / lead / ops) determines the landing screen. A person may hold more than one role (e.g. Carlos logs his own hours AND approves) — shown via a top-nav role switch.
1 · Loginauth (27)
Email
you@bekindlabs.com
Password
••••••••
Sign in
Supabase Auth. Redirect to role-routed home.
2 · Consultant — Weekly TimesheetMaya · features 1–5, 7, 8
◀ Week of Jul 13–17 Prefill from last week Fill remaining with assigned project Autosaved · draft Submit for approval
ProjectTypeMonTueWedThuFriTotal
Acme CorpBillable8788839×
Internal — MeetingsNon-billable11×
Time off (PTO)Non-billable0×
Week total40
+ Add billable row + Add non-billable row Status: Waiting on approval — billable → Lead, non-billable → Manager
"Fill remaining" (2) tops up the assigned project so the week hits 40 after exceptions. Per-day hours in one row (3). Time-off/non-billable rows auto-adjust billable total (4). Multi-project = add rows (8).
3 · Manager — Approvals (non-billable)Carlos · features 10–13
◀ Week of Jul 13–17 4 of 6 submitted Select all normal Bulk approve
ConsultantSubmittedMeetingsTime offTrainingPersonal devFlag
Maya R.✓ Fri 10:121Approve Reject…
Dev P.✓ Fri 09:402Approve Reject…
Sam K.✓ Fri 11:5524⚠ training highApprove Reject…
Lee W.— not submitted
Roster + per-person status, broken down by non-billable category — meetings / time off / training / personal dev (10). Weekly total isn't the point here; the breakdown is what lets Carlos spot the unusual entry. Bulk approve, or person-by-person (11). Who-hasn't-submitted is visible (12). Reject opens an optional-note field (13). Talking to the person off-system is a valid alternative to rejecting — not enforced by the tool.
4 · Project Lead — Project Dashboard (billable)Andrew · features 14, 16, 18
18 / 20
Submitted
15 / 20
Approved
100% signal (locked until all approved)
◀ Week of Jul 13–17 Select all submitted Bulk approve billable
ConsultantSubmittedProject hoursStatus
Maya R.39WaitingApprove Reject…
Jordan T.40WaitingApprove Reject…
Priya S.— not submitted
Omar D.— not submitted
Roster status across 20 consultants (14). Bulk billable approve (16). "100% submitted & approved" signal for Ops unlocks only when the whole project is in (18). Burn-vs-SOW (17) is a Later feature — not shown.
5 · Ops — Org SetupNadia · features 19, 20
PeopleProjects + Add person
NameRoleManagerProjectLeadEffective
Maya R.ConsultantCarlos M.Project XAndrew L.Jan 1 – Jan 31Edit…
Maya R.ConsultantCarlos M.Project YBeth S.Feb 1 – presentEdit…
Andrew L.LeadDana F.Project XongoingEdit…
One place to manage people, managers, leads, projects (19). Assignments are date-ranged, not just "current" — e.g. Maya is on Project X in Jan, Project Y in Feb, and the week being approved resolves to whichever assignment was effective that week (20). This backbone feeds role routing (24/25) and every roster/visibility view.
6 · Ops — Company ViewsNadia · features 21, 22
Everyone at 40hPer-project billable (invoicing) ◀ Week of Jul 13–17
ConsultantBillableNon-billTotalAt 40h?
Maya R.39140
Dev P.36238⚠ short 2h
Sam K.34640
Company-wide everyone-at-40h view, billable + non-billable per person (21). Second tab: per-project approved totals for monthly invoicing (22). Fixed layout for now — richer breakdowns (by project / manager / category) are a nice-to-have to add later. Utilisation report (23) is Later.