Mindful Ops (planning)¶
Purpose¶
Mindful Ops is the studio planning and oversight app: clients, projects, weekly planned hours, licences, and finance feeds. It is not a timesheet and it does not issue invoices.
Audience¶
Ops and finance. Developers and other roles may have read-only or limited access. Admin invites users; public registration is off.
Access / URL¶
Live: https://ops.mindfuldesign.me
- Sign in with a studio email.
- Production requires two-factor authentication.
- Change password from Profile after first login.
| Role | Typical access |
|---|---|
| Admin | Full app, including Settings, Users, Assistant, Email log |
| Finance | Clients, projects, invoices/reports/imports, Kimai sync surfaces — not Settings / Users / Assistant |
How it works¶
| Need | Where in Ops |
|---|---|
| This week’s plan vs actual | Planning grid (person × project × week) |
| Synced timesheets | Time (read-only) |
| Clients and projects | Clients / Projects |
| Licences and renewals | Licences |
| Invoice / expense CSV from Xolo | Imports |
| Kimai connection health | Settings → Integrations (admin) |
Planning replaced the archived full ops app (invoices generated inside MindfulOps, time entered locally) after the Kimai cutover.
Kimai is the source of truth for timesheets. Ops syncs on a schedule (hourly when enabled) and via Settings → Integrations → Sync now.
| Behaviour | Meaning |
|---|---|
| Kimai wins | Per person × project × week, Kimai hours replace local logged values |
| Hybrid cutover | Until everyone logs in Kimai, a local archive can fill gaps |
| Time page | Read-only browse of synced sheets plus archive gaps. Edit in Kimai |
| Unmapped rows | Unmapped Kimai user or project hours may sit in hours_unmapped — Admin |
Incremental sync reconciles roughly the last 7 days. Older bulk edits need a full sync.
Day-to-day procedures¶
Weekly planning¶
- Open the planning grid for the week being staffed.
- Enter planned hours per person and project (the commitment, not the timesheet).
- Logged hours fill from Kimai. Use them in the weekly review; do not type time here.
- Update planned hours when retainers, P1 support, leave, or launches change.
If Logged looks wrong¶
- Confirm the timesheet exists in Kimai on the correct customer, project, and date.
- Admin runs Sync now (or a full sync after bulk date moves).
Finance (high level)¶
- Xolo remains where invoices are issued.
- Ops can ingest Income and Expense CSVs from Imports, and invoice PDFs via a configured mailbox (admin setup).
Sources of truth¶
| Data | System |
|---|---|
| Hours worked | Kimai |
| Planned hours, clients, projects, licences | Ops |
| Invoices | Xolo |
Related systems¶
- Kimai (time)
- Implementation: MindfulOps-Planning (private)
Gotchas¶
| Symptom | First check |
|---|---|
| Cannot log in | Invite + 2FA; Admin |
| Logged hours stale | Kimai entry exists? Then Sync now |
| Person missing from grid | Team member exists in Ops and is mapped to a Kimai user |
| Project missing | Mapped in Kimai and Ops (auto-provision may create rows — Admin) |
| Duplicate clients | Align names with Kimai; do not create a lookalike client in Ops |
Do not debug production .env in public chat. Do not paste Xolo or mailbox passwords into tickets or these docs.