Read this app
the way you'd read a set of plans.
My MaNaGeR is a construction & project management workspace , Waterfall, Agile, or Hybrid, your call. This guide walks every panel, template, and number on the Dashboard so your first project starts on solid footing.
Welcome & Orientation
My MaNaGeR is a single-page workspace for running a construction or capital project end-to-end , charter through closeout , without stitching together five different tools. Everything you enter feeds everything else: a task you add to the WBS shows up in the Gantt, the Kanban board, the RACI matrix, and the Dashboard's Health Score, automatically.
The app doesn't assume one delivery style. At the top of the screen you'll always find three tabs , Waterfall, Agile, and Hybrid , and the panels beneath reorganize around whichever one is active. Hover any of the three (before you pick) and a small card explains what that methodology changes and gives a worked example, so the choice isn't a guess.
The three methodologies
Waterfall
Sequential, date-driven delivery. WBS tasks cascade off predecessors, the Gantt shows a true critical path, and EVM (SPI/CPI) assumes a fixed baseline. Best when scope and sequence are locked before ground breaks.
Agile
Sprint-based delivery. Reveals the Kanban board's sprint tools and unlocks three extra meeting templates , Sprint Planning, Sprint Review, Retrospective , under the Meetings panel.
Hybrid
Runs both models side by side , a Waterfall schedule for procurement and structural milestones, Agile sprints for design iteration or punch-list burndown.
Methodology Lock. Once your team commits, lock it in from Settings ▸ Controls. A gold padlock appears in the header as confirmation, and the app blocks mid-project switching , the same discipline as a signed-off drawing set.
How the workspace is laid out
One row of icon tabs runs across the top of the app , that's your entire project. Eighteen panels, grouped here the same way this guide is:
Core Docs
Dashboard · Definitions · Charter
Plan & Schedule
WBS · Gantt · Kanban · RACI
People & Money
Resources · Budget
Governance
Stakeholders · Changes · Decision Log · Risk/Issues · Closure
Communication
Comms Log · Documents · Meetings
DMAIC
Appears once the Quality pack is switched on (Settings ▸ Advanced Packs) and your methodology is Hybrid
Core Mode first, Advanced Packs when you need them. New projects open Core-only: Dashboard, Definitions, Charter, WBS, and Kanban. The heavier panels , Gantt & critical path, Budget, RACI, Risk, Meetings, Claim Pack, DMAIC , are grouped into five Advanced Packs (Schedule Science, Money, Governance, Field, Quality) that start hidden. Turn any pack on in Settings ▸ Advanced Packs; its sections appear instantly, and nothing you enter while a pack is off is ever lost. If a panel you expected isn't in the sidebar navigation, that's the first thing to check , Sheet A-17 covers it.
Local-first, by design. Every change autosaves to your browser's LocalStorage as you type. The header indicator shows your backup state at a glance: green "Synced to cloud" when the project is linked to the cloud (syncs both ways as you work), amber "Not backed up" when it only lives in this browser's autosave and you haven't exported a portable .json yet. Nothing leaves your device unless you export it, sign in to the optional Google sync, or switch the AI engine to Cloud with your own key. Sheet A-15 covers backups properly.
One workspace, from the kickoff meeting to the last punch-list item.
Your First 15 Minutes
Everything downstream , Health Score, EVM, RACI, the Dashboard , depends on a handful of fields being filled in first. Here's the sequence that gets a new project from blank to fully live.
Turn on the Advanced Packs you need
Open Settings ▸ Advanced Packs and switch on whatever your project uses , Schedule Science for the Gantt & critical path, Money for Budget & Resources, Governance for Risk/RACI/Changes, Field for Meetings & Claim Pack. New projects start Core-only (Sheet A-00), so this is the step that reveals most of the top nav.
Pick a methodology and set the basics
Choose Waterfall, Agile, or Hybrid up top. Then open Settings ▸ Controls and set your name (personalizes the greeting) and your Work Week (3-7 days) , it feeds both Resource Utilization and Budget's labor-cost math.
Fill out the Charter
Your project's identity document , Sponsor, stakeholders, requirements, deliverables, KPIs, scope, budget. Already have one written? Use Upload Existing Charter (.docx/.pdf/.txt) or Paste Charter Text to auto-fill the fields instead of retyping.
Establish realistic target dates
Before a single task exists, open the Charter Dates Prompt in the Charter panel , it reasons through a realistic duration, a weather-season contingency, and a management reserve, then proposes dates to lock in.
Build the WBS
Paste a plain-text outline (blank line = new main task, indents = subtasks) or add tasks by hand. Set predecessors so downstream dates cascade automatically as the schedule shifts.
Set RACI
Rows and columns populate live from your WBS tasks and your Resources/Stakeholders lists , nothing to re-enter. Click a cell to cycle Responsible → Accountable → Consulted → Informed.
Save a Baseline
Settings ▸ Controls ▸ Save Baseline snapshots your current schedule and budget before real work starts , the Dashboard's Baseline Variance card has nothing to compare against until you do this once.
Open the Dashboard
Health Score, EVM, Timeline Target Tracker, and Today's Focus are now populated. Sheet A-02 breaks down every number you'll see there.
Back up to a file
LocalStorage protects you against a closed tab, not a wiped browser. Settings ▸ Controls ▸ Save Project to File exports a portable .json , do this before switching devices or closing up for the day.
▶ROADMAPSave a baseline, start to finish
Open Settings (the gear in the header) and stay on the Controls tab.
Scroll to the Baseline row, then press Save Baseline.
Confirm the prompt. The current schedule dates and budget figures are frozen as your comparison point.
When it's done: the Dashboard's Baseline Variance card stops reading "n/a" and shows schedule-day and cost differences as your project moves.
Dashboard & Health Score
The Dashboard is the only panel that reads from every other panel at once. Nothing here is manually entered , it's all calculated from your WBS, Budget, Risk register, and Charter the moment they have enough data to be honest about it.
One number, 0-100, blending five weighted factors. Until there's enough of the project entered to calculate honestly, it reads "no data yet" instead of showing a fake score.
| Factor | Weight | Reads from |
|---|---|---|
| Completion | 30% | % complete across WBS tasks |
| Schedule | 25% | Timeline Target Tracker / critical path drift |
| Budget | 20% | Planned vs. actual spend |
| Risk | 15% | Open, unmitigated items in the Risk register |
| Change volume | 10% | Pending / recent Change Requests |
This same score is what gets stamped at the top of every meeting agenda you copy from the Meetings panel , see Sheet A-09.
Earned Value Management, auto-calculated once you have at least one budget line and one dated task. SPI/CPI above 1.0 means ahead of plan / under budget; below 1.0 means behind / over.
Schedule Perf. Index
Earned value ÷ planned value.
Cost Perf. Index
Earned value ÷ actual cost.
Estimate at Completion
Forecast total cost at finish.
Estimate to Complete
What's left to spend.
Also on the card: SV (Schedule Variance), CV (Cost Variance), PV (Planned Value), AC (Actual Cost), and VAC / TCPI in the forecast strip beneath.
Timeline Target Tracker
Compares the Target Completion Date you locked into the Charter against your Current Planned Finish , the latest end date across all scheduled tasks. Once you slip past target, a badge appears in the header from any panel; clicking it jumps straight back to this card.
Baseline Variance
A different comparison: Settings ▸ Controls ▸ Save Baseline snapshots your schedule and budget at a moment in time. From then on, this card shows how far your live numbers have drifted from that snapshot , independent of the Charter's promised date.
One unified view standing in for four separate checks , a single glance instead of four cards to answer "are we going to make it."
Hit-probability
Live odds of reaching the Charter's Target Completion Date , the same simulation engine as the full Monte Carlo panel (Sheet A-07), run as a lighter pass so the dashboard stays snappy.
Weather Variance
Checks weather-exposed tasks against your Weather Window (a hurricane/rainy-season range plus buffer, set in Settings) and flags any without enough cushion.
Crash Candidates
Ranks critical-path tasks by realistic recovery potential , e.g. "add another mason crew" , while excluding anything gated by permits, curing time, or third-party lead time, since more labor can't compress those.
Float Watch
Lists tasks with little or no schedule slack, plus how much float has been consumed against your saved baseline. Recalculates every time you open the Dashboard.
A separate Lead-Time Tracker card sits alongside these, listing days remaining or overdue for anything tracked as a Lead-Time task (permits, procurement) , see Sheet A-04.
A same-day view of what's active right now , refreshed on demand, not on a timer, so it reflects exactly where things stood the last time you hit refresh. Sits beside the Next 3 Priority Actions list and the Active Issues & Blockers card, which is also where you'll find the one-click Weekly Digest and Report Prompt buttons covered in Sheet A-13.
Charter & Definitions
Fill the Charter out before real work begins. It locks the Sponsor, stakeholders, requirements, deliverables, KPIs, scope, and budget on record , everything downstream treats it as the source of truth.
Upload Existing Charter
Reads a .docx, .pdf, or .txt file and auto-fills the fields for you. Needs an internet connection the first time, to load the parsing libraries.
Paste Charter Text
Same auto-fill logic, run on text you paste in directly , works with no connection at all.
Print Charter
A clean, buttons-hidden printout of just the Charter , full text expanded, legible on paper regardless of your Dark/Light theme setting.
KPIs, with a twist
Add a name, a target value, and how it's measured , standard stuff. The twist: you can optionally link a KPI to a live in-app metric (Health Score, Timeline Variance, Open Risks, and others), and its current value and status will show automatically instead of you tracking it by hand.
Definitions , the glossary that's actually useful
53 plain-language PM and construction terms, each with a note on why it matters inside this app specifically, plus a worked example. A few samples:
RACI
Who's Responsible, Accountable, Consulted, Informed on each task , cross-referenced live against your WBS and people lists in Sheet A-05.
CPM
Critical Path Method , the task chain that directly controls your finish date, highlighted in gold on the Gantt.
EVM
Earned Value Management , the SPI/CPI math behind the Dashboard's forecast card, in Sheet A-02.
The full 53-term list , including WBS, Monte Carlo, DMAIC, float, baseline, and the rest , lives in the app's Definitions panel, one click from the top nav.
WBS, Gantt & Critical Path
The Work Breakdown Structure is the spine everything else attaches to. Build it once, and the Gantt, Kanban, RACI, and Dashboard all stay in sync automatically.
Three ways to build it
Add Task
Build row by row. Indent / outdent to nest subtasks; collapse or expand the whole tree at once.
WBS Text Import
Paste a plain outline , blank line starts a new main task, indented lines become subtasks. Paste again later and it merges by matching name instead of duplicating.
Import Dates for Existing WBS
Pulls your live WBS into a prompt, asks your AI for a dated version, and merges the returned dates back in , nothing duplicated. Paste the dated outline back into the modal and it matches by task name: existing tasks are updated in place, so re-running it as the schedule evolves is always safe.
Two special task types
Lead-Time
For procurement, permits, or anything waiting on a third party. Tracked by Submitted Date / Expected Date instead of Start/End and % Complete. Shows as a dashed card in Kanban and a hatched bar in the Gantt , and feeds the Lead-Time Tracker on the Dashboard.
Recurring
For work that runs the whole project , weekly safety talks, ongoing QC. It carries a refresh badge in the WBS and Kanban and is tagged [RECURRING] in AI prompts so it reads differently from one-off tasks. It schedules like any other row: give it dates and it cascades with the rest.
How dates cascade
Enter a Task ID in the Pred. column. When that predecessor's end date changes, every downstream task recalculates automatically , with a cycle guard, so a circular dependency (A depends on B depends on A) can't lock up the math.
▶ROADMAPBuild the WBS with a text import, start to finish
Open the WBS section from the sidebar.
Press Import WBS Text at the top of the task table.
Paste your outline: a blank line starts a new main task, indented lines become subtasks under the one above.
Confirm the import. Tasks land in the table in order, ready for dates and predecessors.
Type predecessor IDs in the Pred. column so dates cascade when anything shifts.
When it's done: every task shows in the WBS with dates flowing down the chain, and the same rows light up on the Gantt, Kanban, and RACI without re-entry.
conf:high / conf:low tags. When AI-generated dates come back from the "Generate Dates" prompt, each line carries a confidence badge , high for low-variance work like pouring concrete, low for anything depending on outside parties. These tags feed directly into the Monte Carlo simulator, giving high-confidence tasks a tighter risk spread and low-confidence ones a wider one.
On the Gantt itself
Critical Path Highlighter
Illuminates in gold the exact chain of tasks controlling your final deadline; every non-critical task dims. Toggle it from the Gantt panel header.
Deadline Pulse Alert
Any task within 3 days of its end date pulses amber , on the Gantt bar and its Kanban card. No setup required.
Project Deadline input
The date box next to Cascade Dates is your committed finish. Set it and run a cascade: every task shows its real slack as a float badge (TF), with a month of room on the closing chain instead of zeros. Sheet A-29 has the full story. It also travels to outside AI readers with the task dates.
Reading a float badge
TF counts the working days a task can slide without pushing the finish. Zero means the task controls the end date; the badge turns amber as the slack gets used up. A missed deadline shows as zero float on the chain that runs late , the plan never hides an overrun.
The Audit → Correct → Reimport loop. Run the Schedule Audit prompt (Sheet A-13), feed its findings back into the Generate Dates prompt as context, reimport the corrected outline. This is a manual refinement cycle you drive as the schedule evolves , the app won't run it for you.
The WBS you build once shows up on the Gantt, the Kanban board, and the RACI matrix , never re-entered.
Kanban & RACI
Your WBS tasks, viewed as cards across To Do / In Progress / Blocked / Completed.
Show Lead-Time Lane
Adds a dedicated swimlane for Lead-Time tasks so procurement and permit items don't clutter the normal columns.
Populate Sprint
Set a Sprint Start/End date and every "In Progress" task's dates clamp to fall inside that window , a fast way to timebox your current push.
Rows and columns pull live from your WBS tasks and your Resources/Stakeholders lists , add a person or task elsewhere and it appears here with nothing to re-enter.
Cycle a cell
Click to move Responsible → Accountable → Consulted → Informed → blank. Right-click, or Backspace with the cell focused, steps back.
External Accountable
Flags when the person marked Accountable on a task is an external Stakeholder rather than an internal Resource , usually worth double-checking.
Overload warning
Flags any task with nobody Accountable, and any person Accountable for more than 5 tasks , a possible bottleneck worth redistributing.
Resources & Budget
Resources and Budget aren't two separate spreadsheets here. One setting , your Work Week , feeds both, and one button pushes labor straight from one panel into the other.
Resource Utilization
A visual bar per person showing how much of their available capacity is booked across active tasks. Over 100% means they're over-allocated.
Work Week
Set in Settings ▸ Controls, 3-7 days. Determines how many working days someone actually has , and multiplies straight into Budget's labor cost math. Change it and both recalculate instantly.
Push Resources to Budget
Turns your Resources list directly into budget lines , no re-typing names, rates, or allocations a second time.
Budget lines & spend entries
Budget lines set the plan; spend entries record what actually went out the door against each line. The gap between the two is exactly what the Dashboard's Budget Variance card and the EVM engine (Sheet A-02) are reading.
▶ROADMAPAdd a budget line and log spend against it, start to finish
Open the Budget section (Money pack) from the sidebar.
Press + Add Budget Line and fill in the category, description, and the planned amount.
As money goes out, add a spend entry against that line with the date and the actual amount.
Keep logging spends as they happen , the S-curve's Actual line follows them.
When it's done: the line shows planned vs. actual side by side, the Budget Variance card on the Dashboard updates, and the Cash-Flow S-curve draws both cumulative curves.
Cash-Flow S-Curve & Spend Log
Cash-Flow Forecast
An S-curve under the Budget panel plotting planned vs. actual cumulative spend across the schedule , shaped slow-fast-slow by default, or front/back-loaded per line. The Actual line is honest: it stays estimated until you log real spend entries.
Spend Log
Date-stamped entries against each budget line , the raw material the S-curve's Actual line and the Dashboard's Budget Variance card both read. Log it as it happens and the cash-flow picture stays current.
Risk, Issues & Simulation
Fifteen percent of your Health Score comes straight from what's open here , so this panel earns its keep beyond just documentation.
Risk → Issue conversion
Toggle the switch in the → Issue column and the row visually converts, moving to the Live Issues table with a red alert border. No re-entering the description.
Monte Carlo Simulator
Runs 1,000 randomized trials of your schedule using each task's duration, your Risk Factor setting, and predecessor chains, then reports P10/P50/P80/P90 completion dates , a realistic range instead of one falsely-precise date. Set a Target Completion Date and it reports your probability of hitting it. Needs at least 2 dated tasks.
Where the spread comes from. Tasks tagged conf:high during AI-assisted dating (Sheet A-04) get a tighter risk spread in the simulation; conf:low tasks get a wider one , instead of every task sharing one blanket Risk Factor.
▶ROADMAPRun a Monte Carlo simulation, start to finish
Make sure at least two tasks in the WBS have dates, and at least one chain of predecessors exists.
Open the Risk section and find the Monte Carlo Simulator card.
For a hit-probability figure, set a Target Completion Date in the Charter first.
Press Run Simulation and read the P10 / P50 / P90 spread plus your probability of hitting the target.
When it's done: you have a defensible finish-date range instead of a single guess , quote the P50 to the client and keep the P90 as your internal safety line.
Stakeholders, Changes & Closure
Four panels that mostly document decisions rather than calculate anything , but they're what you'll actually reach for in a scope dispute or a sponsor review.
Stakeholders
Your engagement register , separate from internal Resources, and cross-checked against RACI's "external Accountable" alert.
Changes
Log Change Requests here; the Change Control Board meeting template (Sheet A-09) walks the approve/reject/defer decision.
Decision Log
A running record of decisions made, separate from the Comms Log , useful when someone asks "wait, who approved that?"
Closure
A closeout checklist plus a Lessons Learned form , What Went Well, Improvements, Recommendations. Trigger it as the project approaches completion.
Meetings & Agenda Templates
Every template compiles your live project data , Health Score, project name, the works , into a ready agenda and copies it straight to your clipboard. Paste it into a document, an email, or your meeting notes app.
The one meeting every project starts with. Eleven agenda items, built to walk a new team through the entire workspace in a single sitting.
- 01Welcome & Introductions + Roles/RACI Confirmation
- 02Project Charter Walkthrough (scope, sponsor, targets, budget)
- 03Stakeholder Register & Engagement Plan
- 04WBS & Deliverables Review
- 05Resource & Procurement Plan (long-lead items)
- 06Budget Baseline & EVM Setup
- 07Risk Workshop (populate register live)
- 08Safety/HSE, Quality & Site Logistics
- 09Schedule Target + Weather Buffer Confirmation
- 10Change Control & Governance Agreement
- 11Action Items, Next Steps & Minutes Distribution
What "Copy Template" actually produces
A timestamped, ready-to-paste agenda , project name and current Health Score stamped at the top, every item numbered with a notes line beneath it, and action-item / decisions / next-meeting sections at the bottom. Try it below , this is a real, working copy button.
[Today's date/time | My MaNaGeR | WATERFALL] PROJECT KICKOFF , AGENDA ================================================== Project: [Your Project Name] Health Score: - Duration: 60-90 min Date: ____________ Time: ____________ Facilitator: ____________ Attendees: ____________ AGENDA ITEMS -------------------------------------------------- 1. Welcome & Introductions + Roles/RACI Confirmation Notes: 2. Project Charter Walkthrough (scope, sponsor, targets, budget) Notes: 3. Stakeholder Register & Engagement Plan Notes: … 8 more items … ACTION ITEMS -------------------------------------------------- # | Action | Owner | Due Date | Status 1 | | | | Open 2 | | | | Open 3 | | | | Open DECISIONS MADE -------------------------------------------------- - NEXT MEETING -------------------------------------------------- Date: ____________ Focus: ____________
Weekly Progress Review
Health Score & KPI trend, schedule variance, budget variance, open risks, blockers, priorities for next 7 days.
Risk Review
Re-score risks (P × I), retire closed ones, add emerging risks, confirm owners, update contingency reserve.
Change Control Board
Review open CRs, assess impact, approve/reject/defer, update baselines, communicate decisions.
Daily Stand-up / Toolbox Talk
Safety moment, yesterday's progress, today's priorities, blockers & help needed.
Steering Committee
Executive summary, Health Score, milestones, budget/schedule status, escalations.
Procurement / Vendor Selection
Bid comparison, scoring, award recommendation, contract next steps.
Quality Review / DMAIC Check
Defect log, root cause, corrective actions, metrics update.
Phase-Gate / Milestone Review
Deliverables completeness, acceptance criteria, go/no-go decision.
Scope Validation
Deliverable walkthrough, formal sign-off, WBS status update, handover items.
Lessons Learned
What worked, what didn't, root causes, actions for future phases.
Start/End tracking & voice capture
Meeting Start/End time
Start a meeting and the panel tracks elapsed time as it runs. End it and the meeting auto-logs to the Comms Log with attendees, decisions, and action items , no separate data-entry step.
Voice capture
While a meeting is active you can capture it by voice , live captions or an offline transcript that lands on the meeting record. See Sheet A-10 for the full Voice Capture story, and Sheet A-11 for how a captured meeting feeds a Claim Pack.
Delete + undo
Every concluded meeting row has a Delete button (trash icon). Deleting removes the meeting record plus the Comms entry, decisions, and meeting-to-action promises it created; the confirm dialog is followed by a short Undo window in the toast, so a mistaken tap restores everything.
These three only appear in the Meetings panel once your methodology is set to Agile or Hybrid.
Sprint Planning
Review backlog, confirm team capacity, commit to sprint backlog, define sprint goal.
Sprint Review
Demo completed stories, gather stakeholder feedback, update the product backlog.
Retrospective
What went well, what to improve, action items with named owners.
Voice Capture & Field Reports
Voice capture turns a running meeting into a written record on the spot , no phone recorder, no second screen. The transcript lands on the meeting's own record in project state, so it travels with the project file and can feed everything downstream (Sheet A-11 shows one very useful destination).
Two capture tiers , one button
Live captions (Web Speech API)
Streams captions to the screen in real time while you talk. Needs a network connection and a browser with speech recognition , but it's circuit-broken: if recognition is unavailable or errors mid-meeting, capture keeps going and the transcript stays editable, so a dropped connection never ends your meeting or loses what you said.
Offline whisper (batch-on-stop)
A small offline speech model (whisper, no API key) transcribes the session when you stop capture , batch, not live. Live captions stream while you record; the full transcript is finalized on stop and saved to the meeting record. Works with zero keys and no account.
After capture
The transcript is stored on the meeting record in unified state , it survives refresh, exports with the project file, and syncs like any other field. The app runs a rule-based (zero-AI) extraction over the text to pull out decisions and action items you can confirm before the meeting closes out (Sheet A-09 covers Start/End and the Comms auto-log).
Review before you trust. Transcripts are a working record, not a court reporter. This is a simple one-voice capture: it records one microphone in the room. It cannot tell people apart, so a transcript of a multi-person meeting comes out as one block of text with no names attached , and in noisy or overlapping audio (a busy site, people talking over each other) detail can be lost or misheard. For meetings, keep the attendee list in the meeting header (names, in order of speaking helps), have the chair note who raised each decision as it happens, and for accurate per-person transcripts use software dedicated to that job , meeting tools built for speaker labeling will do it better than a site-capture feature ever should. Then paste or summarize the relevant points back here. Skim every transcript against your memory before it becomes the record of record.
Claim Pack & Voice-to-Claim
A Claim Pack is a counsel-ready package built entirely from your project's own records , weather delays, schedule slips, liquidated-damages exposure, change control, and meeting decisions for a date range you choose. Nothing is re-typed; every section is pulled live from state.
Generate a package
Pick From / To dates
In the Claim Pack tab, set the window you're claiming. The pack then scopes everything , slips, weather delays, LD exposure, changes, decisions , to that range.
Generate Package
One click compiles the full package: weather delay days, affected WBS tasks, LD/contract exposure (avoided vs incurred), baseline-vs-actual deltas, change control, and meeting decisions/action items. Copy All gets it into Word or your counsel's inbox.
Schedule Slip Log & cause tagging
Every task that slipped past its baseline end date appears in the Schedule Slip Log. Causes auto-tag from evidence , a weather delay on the same dates, a predecessor slip, a change request , and default to unknown where there's no evidence, so the log never silently pretends it knows. You can re-tag any slip manually with the dropdown. The Liquidated Damages Rollup splits exposure into avoided (weather cause) vs incurred (everything else) straight from those tags.
Voice-to-Claim
This is where a captured meeting (Sheet A-10) earns its keep: a messy on-site dispute or a weather-stop conversation becomes a transcript, the rule-based extractor pulls the decisions and action items, and those land in state where the Claim Pack can cite them. Capture in the meeting, claim from the record , no re-narration.
Built from your records, on purpose. The Claim Pack never asks the AI to invent a delay , it compiles what you already logged. The 13th AI preset, Claim Pack (Sheet A-13), grounds an LLM in the same package for a written argument if you want one.
Comms Log & Documents
Comms Log
Every material communication , meetings, calls, emails, site visits , with attendees, a summary, action items, and a follow-up date. Your record of reference in any scope dispute.
Document Register
Tracks drawings, contracts, permits, specs, and inspection reports by version and status, with alerts for anything outstanding.
AI Assistant
The AI Assistant compiles your live project data into structured output , reports, dates, audits, claim arguments. One master switch in the Settings drawer turns the whole assistant on or off, and the engine tier (Off / Local / Cloud) sits in the AI window header so you always know which one is live. The window opens as a full-height right panel : drag its left edge to make it wider or narrower (double-click the edge to snap back to the default width), and the width you choose is remembered on this device.
The three tiers
Off
The assistant is disabled and the floating AI button is hidden. Everything else in the app is untouched.
Local , zero-key
Runs in your browser, offline, with no API key and no account. "Zero-fabrication by construction": every line it writes traces to a real field in your project state , it derives, it doesn't invent numbers.
Cloud , your own key
Optional BYO-key tier that calls out to your chosen provider , OpenAI, Google Gemini, or Anthropic Claude , from the AI window's connection settings; Connect & Test verifies the key live before Send unlocks. Your live project data is compiled into the prompt that leaves the browser , nothing else does. If a provider rate-limits the current model (HTTP 429/503), the app automatically retries on the next smaller model in that provider's fallback ladder , e.g. Gemini 2.0 Flash → Flash Lite → Flash Latest , and shows an amber "Fell back to …" badge naming the model that answered. A rejected key (401/403) is cleared immediately; it never quietly falls through to a smaller model with a bad key.
The Settings-drawer switch and the header tier selector are the same control: switch the assistant Off and the tier is off; switch it On and it restores Local or your last tier. One control, one meaning , the floating AI button can never be visible while the engine is off.
Thirteen presets
Report Writing
A full formal status report.
Forecasting
EAC / completion projections.
Risk Analysis
Deep dive on your Risk register.
Weekly Digest
Internal, team-facing recap.
Health Summary
Exec/board-toned overview.
Schedule Audit
CPM logic review of your WBS dates.
Visual Output
Asks the AI to return a self-contained HTML dashboard, including a RACI grid if you've built one.
Change Impact
Scope/schedule/cost/risk verdict on a pending Change Request before it goes to the Sponsor.
Client Update
Plain-language update written for the paying client , no PM jargon.
Charter Dates
Proposes realistic Target Start/Completion dates before a WBS exists (Sheet A-03).
Generate Dates
Returns your outline with dates and confidence tags attached (Sheet A-04).
Daily Field Report
Same-day site-walk digest , see the snapshot diff below.
Claim Pack
Grounds the engine in the compiled claim package (Sheet A-11) for a written delay argument.
Copy-first and agent-style , both still work
Every preset offers both flows. The chip loads the compiled prompt into the chat box , send it on the Cloud tier, or copy prompt + context to use any AI tool you already have; that copy path never goes away. The run button is agent-style: it generates the result and writes it back into project state under the preset's name, where it travels with the project file. Ten presets have a built-in Local generator that needs no key; the other three (Visual Output, Charter Dates, Generate Dates) need the Cloud tier for the run button , on Local they'll say so and stay copy-first. Generate Dates' returned outline is merged into your WBS through the Import Dates modal in the WBS panel (Sheet A-04), so nothing overwrites your schedule without you reviewing it.
The Daily Field Report's diff. Click Snapshot Now next to the prompt title once the daily prompt is open , it saves today's task statuses, and tomorrow's run shows exactly what changed since that snapshot: tasks completed, the blocked-task count, new risks and issues, and budget movement. A same-day diff instead of a flat status dump.
DMAIC (Six Sigma Mode)
An optional workflow for working a recurring quality or process problem , Define, Measure, Analyze, Improve, Control , separate from one-off Change Requests, which are for scope changes rather than systemic issues. Switch on the Quality pack in Settings ▸ Advanced Packs and set your methodology to Hybrid to reveal its tab in the top nav; the Quality Review / DMAIC Check meeting template (Sheet A-09) is built to run alongside it.
Nothing uploads by default. Your project lives in this browser until you decide to export it.
Signing In
Signing in is optional. The app runs fully offline with no account at all. An account only turns on cloud backup and lets you move projects between devices.
Where sign-in lives. There are two doors, and they behave identically because they mount the same shared form:
- The Sign in button in any marketing page header opens a sheet right there, so you never lose your place.
- signin.html is a page of its own at
/signin, so it can be linked to, bookmarked, or sent to someone. It is linked from the footer.
Coming back afterwards. Give the page a destination with ?next=, for example /signin?next=/app.html. After signing in the browser returns there. Only same-site relative paths are accepted: an address pointing at another site is discarded and you go to the app home instead. That is deliberate. An open redirect on a sign-in page is a ready-made way to fake a login, so the parameter cannot be used to send you somewhere else.
The order on the page. Google sits at the top, email sits below it behind a disclosure, and the Terms and Privacy links sit at the bottom under the action. That is not arbitrary: the same order was measured on Notion, Linear, Stripe and Vercel in October 2026, and all four put the social button above the fields with the legal line underneath.
Signing out. The sheet and the page both carry a Sign out control once you are signed in. Signing out on one surface updates the other, because both listen for the same sign-out event rather than each keeping its own copy of the state.
If you are locked out. Five wrong passwords locks sign-in for two hours, and every further batch of mistakes doubles the wait, up to a day. A locked account is not a lost account: use Google sign-in, or request a reset email. Only one reset email can be sent per address per day, and the page will not tell you whether an account exists, so nobody can use it to discover who has one.
Data, Backup & Access
Every change autosaves to this browser's LocalStorage the moment you make it , no save button, no network call. By default one project lives on one browser, on one device. Three deliberate paths move it anywhere else: the portable .json file, a USB/sync transfer, or , if you want it , the optional cloud backup. The app never requires an account; everything below is a choice.
Local projects: a device holds up to 8. Everything works offline with no account , but a project that lives only on this device lives only on this device. A wiped, lost, or broken device takes it with it. Signing in and saving projects to the cloud keeps them reachable from any device, anytime , that is the safer home for anything you would hate to lose. The local limit counts what the device stores; deleting a project frees a slot, so delete only what you have backed up or can let go.
Backup from the header , the backup indicator
The pill in the header tells you where your project stands and is the one-click backup door. Cloud-linked projects show a green "Synced to cloud" chip , the project syncs both ways as you work: your edits flow up to the cloud copy, and its changes flow down to you automatically, change by change, always keeping whichever side was edited most recently. Projects not linked to the cloud show an amber "Not backed up" pill , your changes are safe in the browser's autosave either way, and a backup is optional; grab one whenever you're ready, e.g. at the end of a task. Click either pill and a small backup card opens with the two routes: Backup to cloud , if you are not signed in yet you are taken to sign in first, then one more click links the project; once a project is linked, snapshots auto-sync both ways and the card also saves straight to the cloud , and Backup to local (.json), the portable file described below. If you are brand new and have no account at all, the first click still works: Backup to cloud opens sign-in; once you are signed in, click it once more and the project gets its own cloud copy plus a 16-character owner code shown once , the code is your project's key on any device (Sheet A-20), and the Google account keeps the copy recoverable if the code is ever lost. The card's footer line tells you when the last file backup happened.
Save Project to File
Settings ▸ Controls ▸ Save Project to File (or the header's "Not backed up" indicator ▸ Backup to local (.json)) writes a portable .json , your ticket to a new device, a teammate's laptop, or just peace of mind. Works everywhere, account or not.
Load Project from File
Settings ▸ Controls ▸ Load Project from File, then pick a previously saved .json to restore it.
Save Baseline
A point-in-time snapshot of schedule and budget, feeding the Dashboard's Baseline Variance card (Sheet A-02).
Real-world moves: three scenarios
Moving devices
Export to .json, carry it on a stick or email it to yourself, open the new browser, Load Project from File. Done , no account needed.
Viewing on the phone
The same .json opens in any browser. Since every field carries a per-field edit timestamp, when you take a copy back to the office, edits merge , newest write wins per field, not whole-file last-save.
Device lost or wiped
If a copy was exported, saved to the cloud, or synced, the project survives the device. This is the single most important habit: a closed tab is fine, a wiped browser is not , back it up before anything drastic.
Optional cloud backup , an owner code, an editor code, or a view-only code
The Share & Access section in Settings ▸ Controls is the single home for cloud sharing: it links a project to the backend (D1 + R2) so its state JSON lives off-device and can be pulled back on any device, and it is where the owner code and every editor code live. Once linked, the header switches to the green "Cloud backed up" chip and the app auto-syncs the snapshot in the background , roughly 25 seconds after you stop editing , so the off-device copy stays current without lifting a finger, and a final flush runs when you close the tab. This works for owner and editor sessions alike: an editor's silent push is merged through their granted sections server-side, so it can never touch anything outside its scope. A separate Save button still exists for an immediate push, but it is never required for the copy to stay current. It is strictly opt-in per project, never required, and never gates a feature , the JSON export/import path above remains the guaranteed route on every device, signed in or not. Sign-in is routed too: if you trigger a cloud action that needs your Google account (recovering a lost owner code, publishing from the Admin panel) while signed out, the Google sign-in prompt appears at that exact moment and the action continues on its own once you're signed in. Publishing from the Admin panel records the owner code for a project, so opening that project here adopts it automatically , publish, open, and auto-sync, zero re-typing.
Owner code (create)
Create Cloud Project generates a 16-character owner/recovery code shown EXACTLY ONCE , copy it and store it somewhere safe. You authenticate saves/loads with it; the plaintext is never stored server-side (only a salted hash), so a lost code is unrecoverable without the linked Google account.
Editor codes (scoped)
The owner can generate editor codes with a label and tick which sections each code may WRITE (WBS, Budget, Risks, Meetings…). Scope is enforced SERVER-SIDE on every save , an editor (or a leaked code) physically cannot touch anything outside its grant, and out-of-scope panels grey out as a visual hint. Revoke a code anytime; it stops working immediately.
View-only access codes
Access codes on app.html unlock projects read-only (view-only code = read-only project), independent of cloud , the app gate that protects every project. Cloud editor codes are about who may WRITE which sections; view codes are about who may OPEN the project at all.
Client codes (read-only portal)
Under Client Access in the same manager, the owner can generate a client code with an expiry (7 / 30 / 90 / 365 days, or never) and tick the exact sections the client may SEE (Dashboard, WBS, Budget, … up to 19 sections). The client opens the project from the launcher's Open with code exactly like a view code, but the workspace is trimmed to the granted panels only , navigation buttons for everything else are removed, not just greyed out, a read-only banner sits at the top, and every write action is refused (the server never accepts a client code on save). While the project is open, a client's view refreshes automatically: it re-checks every ~60 seconds (and immediately when the tab regains focus or the admin saves), so the client always sees the newest published snapshot. An expired code answers with a friendly message ("This access code expired on <date>. Ask the admin for a new one.") and a revoked code stops working immediately; the manager's client-code list shows each code's expiry state.
Project API keys (for an external AI assistant)
Under API Keys in the same manager, the owner mints a key for THIS project only , a key cannot be created outside a project and cannot be moved to another one. Give it a label, tick the sections it may read and propose changes to, and pick an expiry (30 / 90 / 365 days, or never). The key is shown once and looks like a standard API key: sk-mmgr-XXXXXX-XXXXXX-XXXXXX.
Using the key with your AI: the key is a bearer credential. Your AI sends it as an HTTP header on every call:
POST https://mymanagerworkspace.com/api/cloud/projects/YOUR-PROJECT-ID/loadX-API-Key: sk-mmgr-...
Use /load to read (returns ONLY the granted sections) and /save to propose changes (the body is {"state": {...}} with any of the granted section keys, e.g. tasks, resources, budgetLines). A save never edits directly , it lands in the owner's Review incoming changes queue with a field-level diff, and nothing changes until the owner accepts it inside the project. Out-of-scope reads come back trimmed, out-of-scope writes are refused and reported, an expired or revoked key answers with the same generic refusal, and the key list shows each key's label, scope, expiry, and last-used date.
Save, load, recover, and unlink
Save to Cloud / Load from Cloud
With the owner (or an editor) code in session, Save to Cloud pushes the current state; Load from Cloud replaces this device's workspace with the stored snapshot (it asks first , current local data would be overwritten). Each save records a changelog entry with field-level before/after values (or a snapshot for bulk changes).
On another device? Enter the code
Load with Code accepts a 16-character owner, editor, or viewer code, pulls the snapshot, and keeps the credential for this session only. A fresh device just needs the code typed in , no account required. Prefer the launcher: the Have a code? Open a project entry on app.html resolves the code to its project from the cloud, so even a project this device has never seen opens with just the code.
Recently opened codes on this device
The first time you open a project with a code on a device, that code is remembered on that device only , in your browser's local storage, never sent anywhere and never synced to the cloud. The next time you visit the launcher you will see a Recently opened list with the project name and how long ago you last used it. Click a recent entry to open the project again with the stored code , no re-typing. The list holds up to twelve codes and removes the oldest when it is full. If a code is revoked or expired the list cleans it out and shows a note, so a stale entry never opens a project that will not open.
Pinned into My Cloud Projects
Open a shared project with an editor or viewer code while signed in to Google, and it pins into your own "My Cloud Projects" list on the launcher (server-side adoption: the grant follows the account, not the clipboard). Re-open it anytime with one click, no code re-typing: the pinned row re-reads the LIVE code, so a revoked code stops opening and a scope change applies immediately. An Unpin button on the card drops the pin from your list (the owner's project is untouched). While you hold a share code, offline-copy is disabled on purpose: Save Project to File, the export modal, and Drive backup are refused, because a shared project must never leave as a file (Sheet A-20).
Offline copies , live refresh, view-only (approved 2026-08-17)
Inside a shared project, a viewer or editor can click Make offline copy in Cloud Backup: the server registers this device as an offline copy of the project. A registered copy is view-only by design , it can read and refresh, never edit , so there is nothing to lose when it updates. When the main device saves (or the owner broadcasts), every registered copy learns the cloud moved instantly over the presence channel and pulls the newest snapshot without a full page reload; an Update offline copy button stays available for a manual pull (viewers also auto-pull silently on save). The reconcile model is deliberate: the local device is connected to the cloud, so your changes automatically sync UP to the cloud whenever a sync can happen, and the cloud broadcasts DOWN to copies when the owner asks it to , copies never fight the cloud. This registered copy is a separate, sanctioned offline path from file export: while you hold a share code, Save Project to File / the export modal / Drive backup remain refused (a shared project must never leave as a file), but a registered offline copy is exactly the intended way to keep working offline.
Broadcast to other projects (owner)
The owner's Cloud Backup section shows Offline copies & broadcast: a list of every registered copy (device + last-pulled time) with per-copy Remove, plus Broadcast to other projects , one click pushes the current snapshot to every registered copy at once (connected copies refresh instantly; the rest pick it up on their next check) and logs a Broadcast to offline copies entry in the changelog. Turn on Auto-broadcast on every save and every save also broadcasts automatically, so copies stay current without a manual push. Because copies are view-only, a broadcast can never overwrite anyone's edits , the cloud is the single source of truth and copies mirror it.
Review incoming changes (owner) , approved 2026-08-17
Edits from editor codes (and AI imports) no longer reach the cloud project directly , they wait in the owner's Review incoming changes section as proposals, and nothing is applied until the owner decides. Each proposal shows the source (the editor label, or the MCP AI badge), when it was proposed, and an expandable before/after diff of every changed field. Accept applies the change through the same server-side scope merge as a direct save (so an editor can still only change the sections their code is granted), logs an Accepted change from review entry in the changelog (revertible like any edit), and refreshes offline copies , Reject discards it and logs a Rejected change from review entry without touching the project. This review gate is always on: it is the admin's control over "changes from another source" , the owner's own saves apply instantly, viewers still cannot save, and an editor who saves repeatedly only ever leaves their newest proposal pending (last proposal wins). The editor's own Cloud Backup section shows their last change's status , pending, accepted (now in the cloud), or rejected.
Recover Owner Code (lost code)
Recovery is gated on the Google account that was linked when the project was created: sign in with Google (optional identity, never required) and Recover Owner Code issues a NEW owner code , the old one stops working immediately, and the recovery itself is logged. Without the linked account, a lost owner code cannot be recovered; editor codes can always be re-issued by the owner.
Changelog , view and revert
The owner can open the changelog to see who changed what and when (Owner or "Editor , label", field-level diffs, or "Full-state change" for bulk operations). Revert is owner-only and never erases history: it writes the recorded before-values back (or restores the snapshot) and logs the revert itself as a new entry , so a revert of a revert restores the pre-revert state.
Take a project offline with a file , it stays tied to its cloud copy
Exporting a project file (Save Project to File) from a cloud-linked project writes a quiet link into the file: the name of the cloud copy it came from. The link carries no codes and no passwords , the file still opens as plain data anywhere, and nothing in it can touch the cloud on its own. When that file is opened on a device that has never seen the project, two things happen: the project works fully offline as always, and a small card appears under Settings ▸ Controls ▸ Cloud Backup , "This project came from the cloud" , offering to Re-sync with its cloud copy. Choosing Later is fine: the link is remembered on that device, and Create Cloud Project will check for the cloud copy first instead of making a second one.
Re-sync , pull the cloud copy's latest, without losing local work
Re-sync pulls the cloud snapshot and merges it in change by change: each field (a budget line, a task, a date) keeps whichever side was edited most recently, so an edit made on this device survives unless the cloud copy has a newer edit for that same field. Linked projects also pull the cloud copy's changes on their own , sync runs both ways without you pressing anything, and Re-sync is there for when you want it right now. The header pill keeps you honest about where you stand: green "Synced to cloud" once the link is live , a successful Re-sync ends there too , and amber "Not backed up" while the project still lives only on this device. When a device holds a code for the project, re-sync runs straight away; otherwise it asks you to sign in first, and the link stays saved for when you're ready. A bonded, linked project also shows a Re-sync with bonded cloud copy button beside Save and Load , useful after restoring from a file backup, or any time you want to be sure you have the cloud's latest. If re-sync cannot reach the cloud copy (a revoked code, a deleted project, no connection), it says exactly what happened and keeps the link , try again once you have access.
Unlink from Cloud
Unlink from Cloud deletes the CLOUD copy (snapshot, editor codes, changelog) and stops syncing , this device keeps its local data, so nothing you have here is lost. It is owner-only and irreversible for the cloud side; re-create the cloud project later if you change your mind.
Delete a project , inside the project, the launcher, or the Admin panel
Three doors to the same owner-only delete. Inside the project: open Settings ▸ Controls and scroll to the bottom , the Danger Zone (shown only while your owner code is in session) has a Delete project button. It asks "Are you sure?", and if you signed in with an email account it then asks for your account password to verify the delete (Google accounts have no password , being signed in is the verification). The confirm button is a press-and-hold for 10 seconds : hold Delete project down and the button counts down from 10; releasing early (or moving off the button, or pressing Escape) cancels and nothing happens. Only a full 10-second hold deletes , a deliberate pause so a stray click can never remove a project. Confirming removes the project from the cloud backend for everyone and sends you back to the launcher. On the launcher, your cloud project cards carry a 3-dot menu: Delete project asks you to be sure, then deletes with an Undo toast for a few seconds. A card someone SHARED with you offers Remove from my list instead , no one but the owner can delete the main version. From the Admin panel, Delete additionally removes your local list entry; if you miss the undo window, the Admin panel's Cloud Projects list shows the project in a Deleted state: Undo restores it (cloud included), or Delete permanently wipes it from the backend for good: the R2 snapshot, every code, adoptions and the changelog, with no undo.
Discontinued , what happens to shared copies. When the owner deletes the main version, every shared copy does not vanish silently: it becomes discontinued. There is no continuation and no update , the card keeps its last state but can no longer be opened or updated (loads answer "project deleted"), and the launcher prompts the recipient to remove it with a Remove action. Offline copies keep their last snapshot on the device but receive no more updates. Only the owner can delete the main version; recipients only ever clear their own pin.
Optional Google identity , gates recovery, not the app
Signing in with Google is entirely optional. It unlocks two conveniences: Google Drive backup/restore of your project files, and owner-code recovery for cloud projects. It never gates anything , create, save, load, and editor access all work with zero account. You can sign in later, or never. Email accounts (sign in with email instead) can change their password any time from the sign-in sheet, the launcher or admin account chip, or Settings ▸ Controls ▸ Profile , enter the current password plus the new one (8+ characters) and every other device is signed out immediately; this device stays signed in.
Copy All , your fastest way into Word
Navigate to any panel and click Copy All. Everything visible on that view is compiled, timestamped, and placed on your clipboard , ready to paste straight into a Word document, an email, or a client report. It works the same way on every panel: WBS, Budget, Risk, RACI, Charter, all of it.
Safety net: Clear All
Hold the Clear All button for a full 10 seconds , a red bar fills across the bottom as you hold , and a 5-second undo window appears immediately after, so an accidental clear is always recoverable.
Cookies and storage , you decide
The first time you open one of the public pages, a card asks about cookies and storage. It gives you three equal choices, none of them pushed: Accept all, Necessary only, or Choose and pick which optional ones you want. Nothing optional runs before you answer, and the analytics beacon is blocked at the network level until you say yes, so no request leaves your device before then. Every footer has a Cookie settings link that reopens the same card, and the Privacy page carries the full list of every cookie and every stored item with what each one is for.
Your data , download it or delete it
Settings ▸ Controls carries a Your data section with two buttons. Download all my data writes one file holding everything this app has stored on this device: your projects, your settings, your supplier book and your preferences. It is a plain readable file you can keep, read or hand to someone. Your API key is not in it: that key lives only for the session and is never written into the download. Delete my account appears once you are signed in. If you signed in with an email address it asks for your password; if you signed in with Google, where there is no password to type, it asks you to type the word DELETE. Confirming removes the account and its data on the server and signs you out here. The app itself is never in the way: it works with no account at all, and everything on this device stays reachable through the download above or the project file you save yourself.
Weather & Forecast
The Weather Risk Forecast panel pulls a live forecast for your site (Open-Meteo, cached 3 hours) and flags the days that matter to outdoor work , rain ≥60%, heat ≥32°C, cold ≤0°C , against the tasks that are weather-sensitive.
Set your site once
Type the site city or address and hit Locate , it is looked up online for its exact coordinates, so the forecast is tailored to that precise spot (more specific input = more accurate). Prefer where you are right now? Tap Use my current location and the forecast pins your exact coordinates automatically. No location set? The forecast is a regional estimate, not site-specific , honest about that until you set one.
7-day / 16-day view
Toggle the horizon the forecast strip covers. The flags work the same either way: a day is a risk day when it clears a threshold and sits inside the next 7 days or overlaps a weather-sensitive task , and the Dashboard's buffer checks read the same flags.
Weather Delay Log
Log a delay day , date, condition, affected tasks , and it flows straight into the Schedule Slip Log and LD exposure math (Sheet A-11). Weather-caused slips read as avoided exposure.
The Dashboard's Weather Variance card (Sheet A-02) cross-checks weather-exposed tasks against your Weather Window , the hurricane/rainy-season range plus buffer you set in Settings , and flags anything without enough cushion. The whole panel is a toggle: Settings ▸ Feature flags ▸ Weather Forecast Panel hides or reveals it.
Forecast, not fortune-telling. Until a site location is set, weather windows are regional estimates. Set your site, review the flagged days weekly, and treat the forecast as an early-warning tool , the delay log is what actually counts on the claim side.
Interface & Shortcuts
Focus Mode
Collapses everything except your active panel. Press F again to restore; an indicator confirms it's on.
Status indicators
The header shows backup status, timeline status, and methodology lock at a glance. The backup pill is green , "Synced to cloud" , when the project is linked to the cloud (syncs both ways automatically), amber , "Not backed up" , when it only lives in this browser. Click either for the two backup routes, cloud or local .json (Sheet A-15).
Sidebar navigation
On desktop the left sidebar is the navigation , every section lives there, grouped by phase (Overview, Planning, Execution, Governance, Closeout, DMAIC). The hamburger in the header (or the one at the top of the sidebar) slides it away so the workspace takes the full screen , click again to bring it back. On phones the same hamburger opens the drawer.
Theme
Switch between the light (default) and dark theme. Your choice is saved per device and applies everywhere , the launcher, the admin panel, and every project , not just the project you happen to be in. Printouts (Sheet A-03) stay legible either way.
Your Name
Settings ▸ Controls ▸ Your Name personalizes the header greeting. Leave it blank for a generic welcome.
Copy As , explain before copy
Settings ▸ Controls ▸ Copy As offers Slack, Email, and Client formats as cards, each with a short explanation of what it produces and a live preview of the actual compiled text, so you know exactly what you're getting before anything touches your clipboard. Click Copy on the card you want.
Share & Access
Settings ▸ Controls ▸ Share & Access is the single home for cloud sharing: link the project, see the owner code, and hand out scoped editor codes that can only write the sections you tick. Publishing from the Admin panel adopts that code here automatically , publish, open, and auto-sync.
Feature flags , the Settings drawer switches
The Settings drawer's Feature flags section toggles optional UI modules. All default on; switch one off and it hides from the workspace. Nothing is ever deleted by flipping one.
AI Assistant
The master AI switch (Sheet A-13): Off disables the assistant and hides the floating AI button; On restores Local or your last engine tier.
Monte Carlo Simulation
Hides the simulation panel and its Dashboard hit-probability card (Sheet A-07).
Gantt PNG Export
Hides the Gantt panel's PNG export button when you don't need image handouts.
Kanban Lead-Time Lane
Toggles the dedicated procurement/permits swimlane (Sheet A-05).
Weather Forecast Panel
Shows or hides the weather risk panel (Sheet A-16).
Advanced Packs
Not a flag , the five Advanced Packs (Sheet A-00) reveal whole groups of panels at once from the same drawer.
Install it like an app
My MaNaGeR is a PWA: use the browser's install prompt (or Add to Home Screen) and it opens in its own window with an icon, like a native app. And because it's offline-first, the whole workspace keeps working with no connection after the first load , WBS, Gantt, Budget, Risk, even the Local AI engine. That's a core promise of the app, not a fallback.
When Something Looks Off
Three plain-language checks cover most "it's not working" moments. Do them in order.
Hard refresh after an update
The app serves cached files first, so after a version update a normal refresh can keep showing the old screen , a setting appears to do nothing, or a panel you know exists is missing. A hard refresh (Ctrl+Shift+R / Cmd+Shift+R) pulls the new version. This is the fix for most "my change didn't apply" moments.
Find the error log
The app keeps a client-side error log you can open from the UI and copy to your clipboard. If something misbehaves, Copy log and paste it into your bug report , it saves the person helping you a full round of questions.
Check whether you're view-only
A project opened with a view-only access code blocks edits , toggles and save actions are rejected with a notice instead of silently working. If a switch flips and immediately flips back, you're almost certainly in view-only mode with the wrong code.
Frequently Asked
A short list to start with , the app's own Dashboard has a fuller FAQ tab if your question isn't here.
Projects, Admin & Create Your Own
When you open the app you land on the Projects launcher (app.html): the grid of project cards is every project this browser can reach , ones created on this device, plus published ones. Each card is protected by its own access code. Beside the Admin panel link in the left rail sits a second door, Create your own , an open-lock entry that leads to the same admin interface, where you can create your own project (your own admin point) from scratch.
Admin panel
The rail's shield entry. Sets up (or unlocks) the admin password, then shows the full project workshop: New Project, Import Project, the project list, Download Static Manifest, Export Backup, and the cloud admin section. The workshop stays on this device , nothing publishes until you choose to. Sign-in (Google) and the theme controls now live in the hamburger rail, keeping the workshop front page uncluttered.
Create your own
The rail's open-lock entry, right beside Admin panel. Same destination, different intent: it is the visitor's invitation to build. Click it, set an admin password if this browser has none, and you are inside the workshop ready to create your first project.
Your own admin point
A project you create in the workshop appears on the launcher instantly , no publish, no code, no deploy needed on your own device. It is locally owned: you open it with one click, and the card carries an "On this device" chip (Sheet A-15 covers sharing it with others).
One workshop, two doors
Land on the launcher
Project cards in the grid; the rail groups them , All Projects, Cloud Projects, Backup & Restore, Customize. An access code unlocks a published project's card; a locally-owned project opens with one click.
Click Create your own (or Admin panel)
Both entries sit together in the Projects group of the rail. Create your own wears the open lock , the clearest way in for someone starting from zero.
First run: set an admin password
A fresh browser shows the setup screen , choose an 8+ character password. Returning browsers ask for that same password to unlock the workshop. The hash stays in this browser only.
Setup hands you a recovery code (save it)
Right after you set the admin password, a modal shows a 24-character recovery code and will not close until you confirm you saved it , it is shown exactly once. It is hashed (PBKDF2) on this device and is the way back in if you forget the password: Forgot password? on the login screen accepts the code, then lets you set a new password and issues a fresh recovery code (the old one stops working). Five wrong codes lock recovery for 15 minutes. If you lost the code too, the only path is the explicit Reset admin password on this device wipe on that screen, which clears the password and recovery code and returns you to first-run setup (projects are unaffected).
Email recovery for signed-in accounts
If you are signed in (Google or email) when you hit Forgot password?, the same screen offers email-based recovery: a single-use code (15-minute expiry) is emailed to the signed-in address and lets you set a new admin password without touching your device recovery code. It is dormant until a verified sending domain is configured.
New Project
The workshop's New Project button opens a form , title, description, status, and the access code(s) visitors will use. Save it and the project exists.
Import Project
Moving between browsers or taking over someone's exported list? Import Project accepts a .json or .js file , a project state export from a project page, a single project record, an array of them, or a projects-data.js manifest , and adds each record to the list, generating a fresh access code for any that lack one.
Publish to Cloud
Each project row has Publish to Cloud: one click creates the cloud project in the backend and drops its cloud ID beside the row, with the owner code copied to your clipboard. Sign in with Google (hamburger menu ▸ Account) first so the project links to your account and a lost code can be recovered. Opening that project on this device then adopts the recorded code automatically , publish, open, and auto-sync with zero re-typing.
Update Cloud Snapshot
Once a project is cloud-linked, its row button becomes Update Cloud Snapshot: one click pushes the project's latest state straight to the cloud backend (POST /save) and confirms on screen , no file download, no manual upload. Perfect after editing a project's details here or after finishing a round of changes in the project itself. The static manifest (Download Static Manifest in the toolbar) remains the separate path for a self-hosted deployment that does not use the cloud backend at all.
Back on the launcher
Your new project is already there , locally owned, instantly openable. When you want other people to reach it, publish it (Publish to Cloud for a code anyone can use, or Download Static Manifest + deploy for a self-hosted site, Sheet A-15); until then it is yours alone on this device.
Codes: editor, viewer, and the launcher door
Cloud-linked project rows gain a Codes button (and the project's Share & Access card offers the same). Pick a role: Editor (can change only the sections you tick) or Viewer (read-only: can see only the ticked sections, can touch nothing), give it a label, tick the sections, and the code is shown once: copy it now, it is never shown again. Anyone, anywhere, opens the launcher (app.html), uses the Have a code? Open a project entry, and the project loads straight from the cloud backend with exactly the sections their role grants (every other section is greyed out and unclickable, and the server refuses out-of-scope writes regardless). A signed-in recipient's load pins the project into their own My Cloud Projects list (an Unpin button on the card removes it), and while the share code is held, offline-copy is refused (no file export, no export modal, no Drive backup), so the project never leaves as a file (Sheet A-15). Viewer offline copies stay read-only.
Revoke and delete, with Undo
Revoking a code in the Codes manager stops it immediately , its next use answers "This code was revoked by the project admin." Deleting a project row confirms first, then removes it from the cloud too: every code stops loading it ("This project was deleted by the admin."), and a Undo button in the toast restores everything , local, cloud, and codes , for a few seconds after the delete. Recipients never get a delete: they can only remove the project from their own device.
Local-first, always. Creating a project never requires an account, a deploy, or the cloud. The admin workshop, the password hash, and your created projects all live in this browser , publishing is a deliberate extra step that gates only other people's access, never yours.
Bids, Compliance & Go/No-Go
Four market-research features shipped together in the Stakeholders and Budget panels: subcontractor prequalification tracking (COI/license expiry and EMR staleness), lien-waiver status on budget lines, side-by-side bid leveling, and Go/No-Go opportunity scoring , plus an AI claim-compliance check. None of them need an account, an API key, or a subscription.
Prequalification tracking
Every Stakeholder row now carries COI Expiry, License Expiry, EMR and EMR Verified columns. A date within the next 30 days turns red and gains a soon badge; an EMR with no verification date (or one older than a year) reads stale. The Stakeholders tab shows a red count pill when anything is due, and the Dashboard's Project Health card adds a Compliance Expiring line , the insurance-certificate pain point, surfaced before it bites.
Lien-waiver status
The Budget table gains Waiver Status (pending / conditional / unconditional / not required) and Waiver Received date columns, plus a Lien Waivers rollup line under the summary cards counting received / pending / not-required. Note: the labels follow US construction convention , the Jamaica-specific legal mapping (roadmap B7) is still pending legal review, so treat the categories as tracking buckets, not legal advice.
Bid leveling & Go/No-Go
The Stakeholders panel hosts the Bid Leveling and Go / No-Go Scorecard cards. Bid Leveling starts in the Add Bid Package modal: package name, CSI Division Code, target baseline budget, bid deadline, and scope line items with estimated costs. Each package opens a leveled grid (rows = scope line items, columns = subcontractors) with Base Bid Total, Leveling Adjustments (missing scope added at target cost), True Leveled Total, and a green/red Variance to Budget; each subcontractor has an action row for Award Contract, View Original Proposal, or Send Post-Bid Clarification Email, and the lowest-leveled bid is flagged. The Go / No-Go Scorecard is a weighted questionnaire: categories carry weights (default 30/25/20/25%), each criterion is rated 1-5 stars, and a live automation bar shows the verdict, 75%+ GO, 50%+ REVIEW, below NO-GO.
Claim compliance check
Open the AI window, Presets tab
The new Claim Compliance chip sits beside Claim Pack. It reviews the assembled claim package against a standard five-element checklist: delay narrative, supporting evidence references, cost impact breakdown, contractual basis, and requested relief , reporting each as present, missing, or unclear.
No key? Still works
On the zero-key Local tier it runs a deterministic element audit of the same evidence the Claim Pack preset reads , slips, LD rollup, weather log, changes, decisions , and tells you honestly what is missing. On the Cloud tier the model writes the full element-by-element review.
Same evidence, never invented
Both tiers read the same state fields the Claim Pack uses, so the compliance check and the claim draft can never disagree , and neither ever fabricates dates, amounts, or causes.
Tracked locally, decided with evidence. Every field here is plain project state , exportable, offline-first, and backward-compatible with existing records. Empty fields simply don't flag; nothing nags until a real date or missing verification makes it true.
RFIs, Submittals & Field Metrics
Five core-competitor features shipped as plain in-app registers and dashboard cards , RFI tracking, submittal approvals, a dedicated punch list, a 2-week lookahead, and the lean Percent Plan Complete metric. All zero-dependency: they run on task/dates/status data already in the project, with no account or API key.
RFI Register
In the Documents panel. Every Request for Information gets a lifecycle , open → routed → responded → closed , plus From / To, issued and due dates, the question, the response, and a Ball in Court field naming whose turn it is. The register header counts open vs closed. That "verbal clarification" that loses disputes now has its paper trail.
Submittal Register
Beside the RFIs, also in Documents. Material and shop-drawing approvals track item, trade, submitted-to, submitted and response dates, and an approval status: pending → review → approved / approved-with-comments / rejected. Distinct from RFIs on purpose , approvals are not questions.
Punch List
A dedicated card at the top of the Closure panel, separate from the simple closeout checklist. Each punch item carries a location (e.g. Level 2, Room 204), an assigned to, a category (Defect / Snag / Touch-up / Safety / Other), a priority, and an open → in progress → done status. The card header shows done vs open at a glance.
Field metrics on the Dashboard
2-Week Lookahead
Right under Today's Focus. Every open task starting or finishing in the next 14 days, grouped as Overdue Carryover / This Week / Next Week, with assignee and weather-exposed flags and a status dropdown so you can flip a task to done without leaving the view , the short-horizon "what's actually happening next" the field needs, distinct from the full Gantt.
Percent Plan Complete (PPC)
Beside the lookahead. The lean metric: of the tasks planned to finish this week (by end date), how many are actually completed , shown as a big percentage with a four-week history of bars. Overdue carryover from earlier weeks is called out, and the card states its basis honestly: end-date-in-week vs completion status. No planned work that week shows a dash, never a fabricated 0%.
No new setup
All five features read data you already keep , task dates and statuses, documents, closeout. Empty registers just show an empty state and a + button; nothing nags until you add rows.
Same workspace, one more layer of rigor. RFIs and submittals give the communication workflow a register; the punch list keeps closeout defects honest; lookahead and PPC turn the schedule into a weekly commitment you can measure , all offline-first, all in your existing project file.
Registers, Compliance & Handover
Ten more core-competitor features shipped as plain in-app registers and dashboard cards , the ball-in-court rollup, a drawing distribution log, committed cost, pay applications, inspection checklists, an incident corrective-action loop, a handover package, a warranty tracker, a permit register, and one dashboard that watches every expiry. All zero-dependency, all offline-first, all reading data already in the project.
Committed Cost
In the Budget panel. Every line gains its own Committed figure , the contractual bucket distinct from planned and spent. Leave it blank and it tracks the plan; set it to zero for a planning-stage line that isn't a commitment yet. The summary card shows the committed total and the committed-but-not-spent gap underneath.
Pay Applications
Below the budget table. A draw-request register with a Generate from live spend button that drafts the current period's pay app at the exact figure the Budget panel shows , never hand-typed twice. Walk each one draft → submitted → approved, with submitted and approved dates on file.
Inspection Checklists
In the Risk / Issues panel. Trade and phase inspections with their own pass/fail item rows , check every item and the inspection auto-advances to passed; fail one and it reopens. Deliberately separate from DMAIC (continuous improvement) and from the task list.
Incident Register
Beside the inspections, same panel. Quality and safety incidents walk a corrective-action loop: open → investigation → action → closed. Closing stamps the date; root cause and corrective action ride along so an incident can't be marked done without the loop on record.
Ball in Court
Top of the Documents panel. One cross-module rollup of every open RFI, submittal, and issue with the person whose action is awaited, sorted by due date , the "whose turn is it" answer across the whole project, not module by module.
Drawing Distribution Log
In Documents. Who received which drawing revision, when, and by what method (email / print / portal / hand) , the trail that keeps version disputes honest.
Permit Register
Also in Documents. Permit numbers, types, agencies, issue and expiry dates, and a status walk applied → active → expiring → expired. Active permits that are running down get a days-left flag right in the row.
Handover Package
In the Closure panel. The bundled O&M manual / warranty / as-built / certificate / sign-off package, each item walking required → ready → filed. The roadmap's closeout-package ask, separate from the simple checklist.
Warranty Tracker
Beside the handover package. Warranty periods with start and end dates and a live time-left badge , green while healthy, amber inside 60 days, red once it lapses. Feeds the expiry rollup below.
The expiry dashboard
Expiry & Renewals
On the Dashboard. One card watches everything with a date on it , subcontractor COI and license expiries, EMR re-verification staleness, warranty end dates, and permit expiries , anything due inside 60 days (or already past), each with a days-left badge. Nothing due, the card hides itself entirely.
Same-file rigor
All ten features live in the existing project file , same export, same backup, same cloud sync, same offline behavior as every other panel. Nothing nags until a real date or a real row makes it true.
Compliance you can see, paperwork you can hand over. The registers turn money, inspections, incidents, drawings, permits and warranties into plain editable rows; the expiry dashboard turns them into one honest look-ahead. All of it stays in your project file.
Public Reviews Window
The site's Reviews page (reviews.html) is the public word-of-mouth wall. Anyone can leave a review , name optional, shown as Anonymous when blank , and it appears for everyone right away, no moderation, no gate. Plain text only: no HTML, no links, so what you see is exactly what the reviewer typed.
Leave a review
On the page, the form asks for your name (optional), your review (required), and an optional 1-5 star rating. Submit and it posts to the cloud backend and shows up at the top of the list for every visitor , with your stars under your name when you picked them. There is no approval queue , the owner's rule is that everyone sees all reviews instantly.
Anonymous by default
Leave the name blank and your review is signed Anonymous. No account is needed to post, and the app's offline-first principle still holds: reading the site never requires a connection beyond loading the page.
Plain text only
Reviews accept plain text only , HTML and links are rejected, and the page renders everything as text. What a reviewer writes is exactly what everyone reads, nothing more.
How it works
One public page
Found in the site header and footer next to Contact, and linked from this guide's Site column. The list loads newest-first straight from the backend.
Star ratings
Tap 1-5 stars on the picker before posting (optional, reviews are text-first). The rating is stored with the review and shown under the reviewer's name for every visitor; a review left without stars simply shows none.
Word of mouth, on record. Reviews are public on purpose , the site stands behind its users' own words. If you built something with My MaNaGeR, the Reviews page is the two-line way to say so.
Floating Calculator & Trades Math
The floating calculator opens from the Controls ▸ Calculator row, the round button in the bottom-right corner, or the Ctrl+Shift+C shortcut. It's a draggable panel that stays on top of your work, so a takeoff number or a loan payment never means leaving the panel you're in. Ten tabs cover everything from a quick percent to a full concrete pour, and the gear in its top bar switches any of them off when you don't need them.
Everyday math
The first six tabs (General, Percent, Area, Convert, Markup, Cost Est.) are the quick-reference set: arithmetic, percentage change and "what is X% of Y," area and volume shapes, unit conversions across length/area/weight/volume/concrete, cost markup, unit cost, labor cost, material cost with waste, and contingency. These were the calculator's original core.
Trades takeoffs
The Trades tab holds construction takeoff math: concrete slab/footing/wall pours in cubic yards with 60 lb bag counts, column cylinders, masonry block and brick counts with mortar, earthwork cut/fill with swell, roof pitch to slope factor and roof squares, framing studs at 16/24 in centers, stair riser/tread/stringer layouts, paint and drywall coverage, tile counts with cut waste, asphalt tonnage, and trench volume.
Bid, site, and EVM
Bid & Fin. builds a bid from direct cost plus overhead and profit percentages, finds break-even units, and works a loan payment. Site & Geo does slope grade, arc/chord, prismoid and frustum volumes, and engineering-unit conversions. EVM reads your actual project's earned value (SPI/CPI/EAC/ETC/VAC, Sheet A-02) or takes manual numbers.
Turning tabs on and off
Click the gear in the calculator's top bar to open Calculator settings. Every category except General has a checkbox , uncheck one and its tab disappears from the bar immediately; check it again and it's back. Your choices are saved on that device (localStorage), so next time you open the calculator it shows only the tabs you kept. General is always on because it's the arithmetic core. If you turn off the tab you're currently looking at, the calculator falls back to General rather than leaving a blank panel.
Notes on the math
Waste is additive
Takeoff tools that accept a waste percent (concrete, masonry, framing) compute the base quantity first, then add the waste on top, and the result line says so , "incl. 5% waste" , so you always see both the clean and the purchased number.
Standard rules of thumb
60 lb concrete bag = 0.45 cu ft, mortar ~0.3 cu yd per 100 sq ft of block, paint covers 350 sq ft per gallon, drywall is counted in 4x8 sheets, tile adds 10% cut waste, asphalt ~145 lb/cu ft. The numbers are estimating conventions, not quotes , a supplier always wins on price.
Live project data
The EVM tab's "Use current project" button computes from the project you're in (same source of truth as the Dashboard's EVM card), so SPI/CPI match your project exactly. With no project open it says so instead of inventing numbers.
Take the math to the job. The calculator floats above every panel on purpose , a pour volume or a bid number computed mid-meeting is still in front of you when you tab back to the work.
Connect an Outside AI
Inside the project, open Settings and find API Keys in the Cloud & Sync manager. Create a key, tick the sections it may see (tasks, budget, risks...), and pick when it expires. The key is shown once , copy it straight away. It looks like sk-mmgr-XXXXXX-XXXXXX-XXXXXX and works only for THIS project; it cannot be moved to another one, and you can revoke it any time from the same list.
Two ways an AI connects
AI tools with an MCP connector
Tools that can send a custom Authorization header work best. In the tool's connector settings, add an HTTP server with:
URL: https://mymanagerworkspace.com/api/mcp/YOUR-PROJECT-ID
Header: Authorization: Bearer sk-mmgr-... (your key)
Concretely, for terminal tools (Claude Code):
claude mcp add --transport http my-manager https://mymanagerworkspace.com/api/mcp/YOUR-PROJECT-ID --header "Authorization: Bearer sk-mmgr-..."
For editor clients (VS Code, Cursor), add to mcp.json:
{ "servers": { "my-manager": { "type": "http", "url": ".../api/mcp/YOUR-PROJECT-ID", "headers": { "Authorization": "Bearer sk-mmgr-..." } } } }
Set the connector's sign-in option to No sign-in (or its equivalent). The server connects first and checks your key only when a tool actually asks for data or proposes a change , so you should never be asked to sign in with Google or any other account.
One honest caveat: the claude.ai web panel (Add custom connector) has no field to paste a key today , use Claude Code or an editor client instead. The project's MCP Server card (Controls tab) shows this exact address with copy buttons, so you never have to type it from memory.
Scripts and automation
Anything that can send an HTTP header can use the key. Read the granted sections with POST https://mymanagerworkspace.com/api/cloud/projects/YOUR-PROJECT-ID/load and the header X-API-Key: sk-mmgr-.... A script can also POST .../save with changes , those never apply directly, they land in the owner's Review queue with a field-by-field diff. The project's read-only data views (tasks, baseline, risks, weather, EVM, portfolio health) accept the key the same way at .../api/<view>.
What the AI can and cannot do
Only what you ticked
A key granted only Budget cannot see tasks or stakeholders , the server trims the answer, not just the UI. The same rule applies through MCP: a budget-only key calling the tasks tool gets a clear refusal, not the data.
Never without you
Every change an outside AI proposes , through MCP or REST , waits in Review incoming changes inside the project with a field-level diff. Nothing touches your project until you press Accept. Reject, and it is discarded with a changelog record.
Expiry, revoke, containment
Expired and revoked keys answer with the same refusal as a wrong key, a key stops working the moment its project is deleted, and without any key at all the server simply refuses to share data , politely, and only when a tool asks. Rate limits apply to the AI endpoint like every other route, and a leaked key is contained: revoke it, mint a new one, and nothing else about the project changes.
Accepting proposals without surprises
The whole task list travels together
A proposal that adds or changes tasks carries a full picture of the task list as it was when the AI made it. Accepting saves that whole picture. So keep it simple: accept tasks proposals one at a time, and if one has been sitting in the queue a while while you accepted others, ask the AI to send it again fresh rather than accepting a stale list. Records the proposal never mentioned are only kept if they were already in the project when it was made.
Newest first, one at a time
The review queue shows the newest proposal at the top. If two proposals touch the same list (tasks, budget lines...), accepting them top-down in one pass means the newer one wins and the older one's work can be left out. Settle one, then take the next , or have the AI combine everything into a single proposal up front.
One key, one project, one purpose. Treat a key like the key to the site office: anyone holding it can do exactly what you ticked, no more. If it ever lands somewhere it should not , a chat window, a screenshot , revoke it and mint a fresh one; it takes ten seconds.
API Keys & Rotation
Sheet A-27 covers connecting an AI. This one covers living with the keys afterwards: what the list tells you, when to rotate, and why rotation is a ten-second job that changes nothing else. Open Settings inside the project and find API Keys in the Cloud & Sync manager , everything below happens in that one panel.
What the list shows
Each row carries the label you gave it, the sections it may see, its expiry, and the last-used date. The key itself is shown once, at creation , after that the row can only confirm it exists, never reveal it. A last-used date you do not recognize is the panel talking to you: rotate.
Rotate a key in ten seconds
Revoke the old row, create a new key with the same sections ticked, paste the new key into your tool's connector settings. Done. Nothing else changes: the sections, the project link, and the review queue are untouched, and the old key stops working everywhere the moment you revoke it.
When to rotate
After a key has been pasted into any chat window or screenshot. When a teammate who had it moves on. When the last-used date looks wrong. And on the calendar even if nothing happened , that is what the expiry choices (30 / 90 / 365 days) are for: a key with an expiry cleans itself up, and rotation becomes a habit instead of an incident response.
Whatever the key, you hold the pen
Rotation is hygiene, not emergency gear. Even a key that leaked does not hand anyone your project: every change it submits waits in Review incoming changes with a field-level diff, and only you can accept. Worst case for a leaked key is a stranger reading what you ticked , and revoking ends even that.
The rule of thumb: if a key has ever been seen outside this panel, rotate it. Ten seconds, three clicks, and every copy of the old key becomes a dead string.
Project Deadline & Float
The Gantt toolbar has a Deadline date box next to Cascade Dates. Set the date you have committed to the client (not the aspirational Target Completion in the Charter - this one is an engine constraint), and the schedule engine answers with real float on the closing chain.
Finishing before the deadline
The last tasks (the ones with nothing after them) earn real slack: their float badges show the working days you can absorb - a failed inspection, a late crane set - before the deadline is threatened. A gate that sat rigid at zero float softens to show the room it really has.
Finishing after the deadline
The engine tells you plainly: the plan still shows its true completion date, the whole closing chain stays at zero float (still critical), and nothing is hidden. The engine never invents negative-float fiction to make a plan look compliant.
What it never touches
Dates never move because of a deadline - only float and the critical highlight change. Tasks in the middle of the network keep their relational float between linked work; the deadline only speaks to chains that reach the end. Clear the box and everything returns to a pure no-deadline plan.
Where it lives
The deadline saves with the project's WBS in the cloud (one of the Tasks fields), travels with cloud sync, and reaches outside AI readers the same as task dates do. On this device it persists like every other project field.
The habit: set the deadline the day you commit it, run Cascade Dates, and read the float badges on the closing chain. That number is the honest distance between promise and plan.
Build Cost Calculator
The Build Cost Calculator turns a measurement into a document you can send. Pick a work item, enter its dimensions, hit Calculate, and you get an estimate, quote or invoice you can print, save or export. The How do you price this work? chooser decides which numbers do the pricing.
By the unit
The ordinary way: a material rate and a labour rate for the trade, multiplied by the measured quantity. Waste allowances, openings deducted, per-piece pricing and per-trade variants (6 in block vs 8 in, pipe by diameter, scaffolding by height band) all work here.
One combined rate
Some published rates are a combined figure - one number that already covers material and labour. Type that number and the document shows one line, never an invented split into materials and labour. If the trade is quoted per yard, per foot run or per pound, the rate converts the same way the other rates do.
By the days on site
You know how long the job takes. Enter the days on site (quarter days, so 2.75 is fine) and your crew rate per day; the labour total is simply days times the rate, exactly as you typed it. Material still runs on its own rate, so one line can carry both bought material and crew days. The document always shows a single labour figure - never what each person earns.
The Jamaica rate book
Jamaica book loads the published JIC rates for 2025-2027 straight onto this device. Its rates are a default: they prefill the all-in field and you can type over any of them. When a published rate fills a line, the document says so, and Checked against JIC on lets you stamp the date you last confirmed it. Published rates change - check before you price.
Worth knowing: on rendering, painting and tiling the calculator says a day rate is not recommended - how much a crew gets through in a day changes with the weather, the coats and the surface. It says so and still lets you price it your way. And the finish level (economy / standard / premium) always scales the material rate only, never a day rate you typed.
What it opens on
The calculator starts in Jamaican dollars for Jamaica, with the JIC rate book already loaded - the book is quoted in Jamaican dollars, so there is no exchange rate involved anywhere. That happens once, on your first visit; after that the book and the currency are entirely yours - swap, replace or remove them in the Rate books card. Working in another currency? Set your own rate, with its date, in the Exchange rates card, or simply type your own rates. We never convert money behind your back.
Not every job is taxed
The country you pick sets the standard tax rate (Jamaica GCT 15%). For a job that carries no tax at all - a minor repair, an internal job, a client that does not charge - pick No tax on this job and the document says exactly that. Typing 0 in the custom tax field still works too, and reads differently, so you can tell the two apart on paper.
Reading the rate book
The Rate book button opens the JIC rates for 2025-2027 in a pop-up over the page. Read any of the 100 published rates without leaving the calculator, switch between metric and imperial, and close it with the X, by clicking outside it, or with the Escape key. Nothing you have entered is lost.
A block size not on the list
When a trade's sizes are already in the rate sheet - block sizes, blockwork pocket and elevation - the calculator does not ask you to type "price per block" again. If you are working a size the sheet does not list, tick My size is not in the rate sheet and the price and size fields appear for that special case.
Getting the document out: Print / PDF prints the estimate and nothing else - not the bill, the roll-up, the cash plan or the rate book. Export CSV gives you a spreadsheet with the money in one column you can add up, and the rates and settings underneath it. The cash plan spreads the bill across your build duration (12 months to start with) and exports its own CSV, or tells you plainly what it needs first.
Procurement & Quotes
The Procurement tab is your supplier price book: a list of the suppliers you buy from, what each of them offers, and the lowest price they quoted for it. You type a price once from the supplier's own quote or rate sheet and it stays there until you update it. Write a Quote then drafts an email-ready quote from exactly those recorded prices, never from a guessed number.
Add the suppliers you buy from
Open the Procurement tab and use + Add Supplier. Click a supplier's name to open their details: contact person, phone, email and notes. Click the name again to close it. The right-hand column always shows what the selected supplier offers.
Their prices, in their words
Each line is entered by hand from the supplier's own quote or rate sheet when you contact them: the item, the unit, their lowest-quantity price, the currency and the lead time in days. The calculator's rate book never fills this tab in, because every supplier prices at their own rates.
Write the quote
Pick one supplier and a type (a request for prices, an award, or a thank-you), then hit Write quote. The quote uses only the prices recorded above; an item with no price is written as "price on request". Sign in and the built-in AI writes the polished version for you. Without a sign-in, without a connection, or past your daily limit, you still get the plain draft, ready to paste into an email. Use Copy to take it.
Every price carries its date
Edit a price and the row stamps who entered it and when. A supplier whose prices are over 30 days old shows a note beside their name, because a price from six months ago is worse than no price at all.
The subtotal line
Under the table, the subtotal appears when every line shares one currency and carries a price. Mixed currencies or a missing price and it says so plainly instead of adding up a number it cannot honestly state.
Where the tab lives
The Procurement tab ships switched off, like the other packs: open Settings (the gear), Controls, Advanced Packs and turn on the Procurement pack. The tab appears in the section row between Budget and RACI.
Watching prices , importing a price sheet, comparing suppliers
Every price keeps its past
Each time you change a price, the old one stays on the record with who entered it and when, and the cell draws a small line showing the way the price has moved. A price that only ever goes up is drawn in red, so a creeping increase is visible before it reaches the invoice. The last twelve prices are kept per line.
Bring the supplier's price sheet in
Import price list reads a CSV or an Excel file the supplier sent you. You pick which column is the item, which is the price and which is the unit, then a dry run shows what would happen: which lines are new, which would be updated, and which are skipped and why. Nothing is saved until you press Import. A line that already exists for that supplier, name and unit is updated, never duplicated.
See who is actually cheapest
Compare prices lays the same item across every supplier who offers it, with the cheapest price marked. It only marks a winner where two or more suppliers carry the item, so a lone price is never called cheapest. Lead time and minimum order sit under each price, and the bottom line totals the cheapest basket per currency. A line priced in a different currency is marked as such and left out of the totals, because we never convert money on your behalf.
Price breaks
Some suppliers charge less when you buy more. On an item you can record the steps yourself: 1 to 49 at 120, 50 and up at 112. The quote then picks the step that matches the quantity you asked for, so the number in the quote is the number the supplier actually quoted, not the smallest one on the list.
Buying , ordering and the schedule
The price that reaches your gate
Freight, handling and duty can be added to a supplier's price so the comparison is between landed prices rather than the number on the sheet. The extra costs are recorded against that supplier and that delivery, and they stay in the supplier's own currency. We never convert one currency into another to make a comparison work.
Ask for prices from your own bill
On the Bill of quantities in the calculator, Request prices for this bill turns the bill into a list of items and quantities you can send out for pricing. The quantities carry the unit you measured them in, so a supplier quotes the same thing you measured and the answers come back comparable.
The request, ready to send
The price request pack carries the items and quantities, plus the quote type, the date the prices are good until, the delivery site and the payment terms you want. Open in email puts exactly what is on screen into a new message with your own email app. Nothing is added to the numbers, so what the supplier reads is what you wrote.
The purchase order
When a quote is awarded, the Procurement tab grows a Purchase order button that produces a one-page PDF: the PO number, the supplier, the lines and quantities, the delivery date and a signature block to sign. The PO number follows the same series as your other documents, so the paperwork matches what is already in the file.
Supplier lead time meets your schedule
A supplier's lead time can be tied to a task on your schedule. Choose the task and the app marks it as a lead-time item, stamps the order date and the expected date, and the Lead-Time Tracker, the Kanban lane and the Gantt bar all show it as a hatched bar rather than a solid one. If the order date plus the lead time lands after the task was due to start, you are told, both as a note on the line and as a message on the screen. A line with no lead time cannot be scheduled, so the app never guesses one.
The habit: when a supplier sends a price sheet, type their lines in that day and the date stamps itself. By month end your quote emails are two clicks old, and the price you send is the price you were actually quoted.
This index has room for what's next.
New panels and features get their own sheet, numbered and slotted in , the guide grows the same way the app does. Thirty-two sheets so far, from Welcome (A-00) through Procurement & Quotes (A-31). For now: open My MaNaGeR in the next tab over, start with the Charter, and keep this page bookmarked.