5-minute orientation
EEP is a per-project workspace. One project = one state = every card reads from the same source of truth, every PDF is a snapshot of that state.
The four project flows
When you click + New project, you pick one of these. Your choice changes which workspace cards are visible — the canvas only shows what's relevant to the work you're doing.
| Flow | When to use it | Cards you'll see |
|---|---|---|
| New Building | Ground-up design from service to outlets. | Setup · Load Calc · Feeder · Panel · SLD · Lighting · Validation · Reports |
| Tenant Fit-out | Tenant inside an existing building with a parent breaker. | + Parent Building card with live capacity-overflow check |
| Load Estimation (documented) | Have equipment list + occupancy data; preparing utility submission. | + Quick Estimate card with 5 templates |
| Load Estimation (quick) | No equipment docs — pure template-based estimate. | Templates only; SLD / Lighting / Validation hidden; ESTIMATED banner across the workspace |
What every project shares
- Auto-save — every keystroke flushes to the backend after 800 ms of idle time. The header shows Saving… or Saved at all times.
- Branching — every project starts on
main. Fork a branch to try a what-if without touching the parent design. - D01 validation — A1..A14 acceptance gates run on demand and produce a single overall status. Reports stamp the gate result in the footer.
- Standard lock — once you pick NEC 2023 or CEC 2024, the engines never cross rule packs mid-project.
Your first project
~10 minutes from clicking "New project" to a sealable PDF, assuming reasonable defaults. Below is each card in the order it appears.
- Open the dashboard, click + New project.
- Fill the modal: name, project type (one of the four flows above), standard (NEC or CEC), optional client name.
- Click Create project →. You land in the workspace at
/workspace?id=<id>.
Setup card
Fill these once at the start; they're cited in every report.
- Voltage system — drives every downstream divisor. CEC uses CEC2024-R8-100; NEC uses NEC2023-§220.5.
- Occupancy — routes the load model. Residential → CEC R8-200 / NEC §220.82. Commercial / industrial uses different demand factors.
- Engineer of Record (EOR) — name + licence + firm. Required before stamping; D01 gate A14 checks all three.
Load Calc card
Add every load: tag, description, kW, voltage, power factor, continuous?, category. The card computes connected kW + design current as you type.
- Mark a load Continuous if it draws ≥ 1 h at design current — engines apply 125% per CEC R8-104.
- The Category (LIGHTING / RECEPTACLE / HVAC / MOTOR / EVSE / HEATING) drives demand factor selection. Motors trigger the
OVL-MOTORoverlay. - Connected kW + estimated amps appear in the header. Final design current comes from the chosen load model (Standard or Optional method) per NEC Art. 220.
Feeder card
For each feeder run: tag, from-bus, to-bus, length (m), material (Cu / Al), conductor size, ambient °C, CCC.
The engine sequence is:
- Ampacity — table lookup with derate per CEC T1/T2 or NEC T310.16/17, modified for ambient and CCC.
- Voltage drop — temperature-corrected resistance, recommended limits 3% branch / 5% combined per CEC R8-102 / NEC Annex D. The VD history (every conductor size the engine tried before settling) is recorded inline.
- OCP — design current rounded UP to the next standard size per CEC T13 / NEC §240.6(A), subject to the small-conductor caps in NEC §240.4(D) (15 A for #14, 20 A for #12, 30 A for #10 — never overridable).
Panel card
Bus rating, phases, and per-phase loads. The card live-computes imbalance and flags >15% amber / >30% red.
Assign branch loads to a panel via the load's panelId field — RPT-007 (Panel Schedule) groups them automatically.
SLD card
Drag-and-drop single-line editor (React Flow under the hood, lazy-loaded). Shapes auto-populate ratings from feeder + panel cards. Live recalc back-walks from leaf loads to service amps.
Lighting Design card
Lumen-method calculator + photometric preview + LPD compliance:
- Add a space (room name, area m², IES illuminance category A→I).
- Pick a fixture from the catalog (lumens / watts / CU / LLF).
- The card shows the fixture count needed: N = (E × A) / (Φ × CU × LLF × n).
- Layout grid (square / hex) + photometric preview visualises spacing-to-mount-height ratio (IES limit ≤ 1.5).
- LPD compliance checks W/m² against ASHRAE 90.1-2022 §9.5.2 or NECB 2017 §4.2.1.5.
Branching for what-ifs
Every project has a main branch. Forks are git-like — the parent state is unchanged, edits on the fork are isolated, and you can compare, merge, or discard at any point.
When to fork
- Owner asks "what if we drop the transformer to 50 kVA?"
- You want to try a different load model without losing the current numbers.
- A reviewer wants to explore an alternative routing before approving.
Compare / History / Merge
- Click + New branch in the branch bar — give it a name like
reduced-trans-50kVA. - Make your changes. Every edit is logged into the branch's
BranchEdittrail. - Click ⇆ Compare — see a field-level diff of every changed path, added entry, and removed entry.
- Click Merge A → B in the diff modal to apply the fork's changes onto main. Source wins on every conflict; the merge is recorded as edit-log entries on the target.
- Click ⏱ History to view every BranchEdit (path, from-value, to-value, reason, author, timestamp).
Validation (D01)
D01 is the master acceptance pipeline. Open the Validation card and click Run D01; the engine evaluates A1..A14 against the current branch state and returns one of four overall statuses.
| Gate | Name | Rule citation |
|---|---|---|
| A1 | Lock Jurisdiction | CEC2024-S0 / NEC2023-§90 |
| A2 | Validate Voltage System | R8-100 / §220.5 |
| A3 | Route Load Model | R8-200..212 / §220 Part III |
| A4 | Load Calculation | Demand factor application |
| A5 | Overlay Detection | Atlas D12 |
| A6 | Ampacity Selection | CEC T1..T5D / NEC T310.16-17 |
| A7 | Voltage Drop Check | R8-102 / Annex D |
| A8 | OCP Selection | T13 + R14-104 / T240.6(A) |
| A9 | Feeder Sizing Master | Combined ampacity + VD + OCP |
| A10 | Panel Schedule | R8-108 / §408 |
| A11 | Source-Gap Resolution | Atlas D03 |
| A13 | Report Generation | RPT-001..009 readiness |
| A14 | PE Review Gate | EOR block + seal |
Overall statuses
- COMPLETE every gate passed — deliverable-ready.
- WARNING at least one soft warning. Reviewer should look but stamp is allowed.
- BLOCKED one or more gates failed. The Reports card warns; the Stamp endpoint refuses (see the source-gap guard below).
- PARTIAL some gates not yet run (waiting on data). Run D01 again after filling them.
CEC2024-R8-100) to open the rulebook excerpt drawer. Works in this guide too — try clicking any CEC2024-R8-100 tag above.
Overlays + Source Gaps
Overlays are emergent constraints the engine detects; Source Gaps are unknown inputs the engineer logs. Both surface in dedicated cards and both feed D01 gate A11.
Overlays (engine-detected)
The engines emit overlay tags whenever they recognise a pattern that changes how a value should be sized. Examples:
OVL-MOTOR— a load is tagged MOTOR → 125% applied to feeder per CEC R8-104 and locked rotor amps checked separately.OVL-CONTINUOUS— continuous duty load triggers 125% upsize on OCP and feeder.OVL-HARMONIC— non-linear loads >50% on a 3φ feeder require a full-size neutral.OVL-EV— EVSE load requires dedicated branch + 125% on the breaker per Article 625.
Each overlay has Open / Resolved status. Resolving requires a short note that's stored with the resolution timestamp.
Source Gaps (engineer-logged)
Open a Source Gap (SGP-*) whenever you're calculating with an assumed value that the engine asked for but couldn't derive. Common examples:
- Utility short-circuit current (need from POCO)
- Existing parent-building load (tenant fit-outs)
- Ambient temperature for an outdoor run
Mark a gap blocking: true when the assumption is load-bearing for the design. The Stamp endpoint refuses any project with open blocking gaps — see the next section.
9 RPT templates
Every PDF is generated in the browser from the live workspace state. No backend round-trip = the PDF is always a faithful snapshot of what's on screen.
| Code | Name | Use it for |
|---|---|---|
RPT-001 | Engineering Calculation (full) | The complete record: setup + load schedule + feeder schedule + panel schedule + D01 gates + overlays + EOR + seal. Submittal-quality. |
RPT-002 | Project Summary | 1-page snapshot for owner / GC review. |
RPT-003 | Code Compliance Trace | Every cited rule × value × status. Plan-reviewer audit trail. |
RPT-004 | Warning Report | Soft warnings from engines / overlays / advisory gaps. Pre-stamp checklist. |
RPT-005 | Assumption Report | ASM-* entries the engine logged. Confirm each before stamping. |
RPT-006 | Source Gap Report | SGP-* with resolution state. |
RPT-007 | Panel Schedule | One panel per page + assigned branch circuits. |
RPT-008 | Feeder Schedule | All feeders with conductor / OCP / VD% colour-coded. |
RPT-009 | Audit Trail | Lifecycle events — share grants, restores, branch merges, stamp. |
Sealed · sha256:<hash>… — a cryptographic stamp of the branch state at sealing time. Any later restore or merge produces a different hash, so the sealed PDF remains independently verifiable.
Signing off
EEP never forges a stamp. The seal is your image; the platform embeds it and records the hash. You apply the legal weight.
Engineer Seal
One-time setup per device:
- Go to Account → Engineer Seal.
- Upload a PNG, JPG, or SVG of your seal (max 1 MB). The image is stored only on this device in your browser's localStorage — it never leaves your machine until a PDF embeds it.
- Replace or remove at any time. Stamped projects keep a copy of the seal that was active at stamping time, so changing your seal doesn't retroactively change sealed PDFs.
Submit for review
Click the workspace header's Submit for review button when the design is ready for a second engineer's eyes. This sets the project status to UNDER_REVIEW and records the transition in the audit log. A reviewer with project access can then verify the design before stamping.
Stamp + state hash
Only licensed engineers (User profile isProfessionalEng: true) see an active Stamp button. The flow:
- Click Stamp. The confirmation modal previews your seal, the EOR block, and the current D01 status.
- Add optional audit-log notes ("Issued for permit submission", etc.).
- Click Stamp project. The browser computes SHA-256 of the canonical branch state, the backend records the hash + your seal version + timestamp, and the project status flips to
STAMPED.
SGP-* with blocking: true and status: OPEN) exists. The error lists the offending sgpCodes so you know which Source Gaps card row to resolve.
Tenant fit-out flow
Pick "Tenant Fit-out" as the project type and the workspace adds a Parent Building card with a live capacity-overflow engine.
- Fill the Parent Building card: existing service voltage, main panel rating (A), existing connected load (A), owner / building manager.
- Add tenant loads in the Load Calc card as usual.
- The Parent Building card live-computes
spare = mainA − existingAand compares to your tenant draw. Status pill flips:- VALID tenant ≤ 80% of spare
- WARNING 80–100% of spare
- BLOCKED tenant exceeds spare — inline overflow notice with required reduction in amps
- If overflow persists, the engine auto-logs
SGP-TENANT-OVERFLOWas a blocking source gap → Stamp refused until you reduce the load or attach AHJ/utility confirmation of an approved service upgrade.
Quick estimate flow
For "Load Estimation (quick)" projects the canvas hides SLD / Lighting / Validation / Overlays / Source Gaps because the deliverable is a utility hydro form, not a sealed design.
Five pre-seeded templates:
- STRIP_MALL — typical 1500 ft² retail / service tenant.
- INDUSTRIAL_SHOP — small machine shop with 1–2 motors + welder.
- RESTAURANT — full-service kitchen + dining; heavy appliance load.
- PLAZA_UNIT — generic plaza tenant ~1000 ft².
- CUSTOM — empty, you fill it in.
Picking a template seeds the Load Calc card with a starting schedule. Edit any row, then click ↓ Download Hydro Submission Form (PDF) — a 1-2 page pdfmake report with ESTIMATED banner, service summary, tenant load schedule, and EOR + signature block.
ESTIMATED — NOT FOR CONSTRUCTION in red striped text.
Free tools (advisory only)
~20 standalone calculators at /free-tools — voltage drop, conduit fill, breaker sizing, cable size, NEC code reference, AutoCAD scale converter, etc. They're useful for field estimates and learning, but they bypass the D01 pipeline and carry no engineer seal.
Every free-tool page shows an amber ADVISORY ONLY banner that links back to the dashboard. For sealed designs, always work inside a project workspace.
Quick answers (FAQ)
One-line answers to the questions support hears most. If yours isn't here, email support@ee-platform.com.