No description
- Gantt now shows per-stage phases: WIP 1, Feedback 1, WIP 2... (violet/amber colour coding) - Replaced month-based % layout with fixed 28px/day grid (horizontally scrollable) - Two-row header: week-start dates + SMTWTFS day letters - Weekend columns shaded gray across all stage rows - Added Download PNG button using html2canvas (2x retina quality) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| server | ||
| .deployed | ||
| .dockerignore | ||
| .gitignore | ||
| analytics.html | ||
| auth.js | ||
| config.json | ||
| deploy.sh | ||
| docker-compose.yml | ||
| Dockerfile | ||
| index.html | ||
| market-script.js | ||
| market.html | ||
| package.json | ||
| README.md | ||
| script.js | ||
SLA Calculator
A web-based SLA (Service Level Agreement) calculator for the eCom Content Factory. Replaces the Excel-based workflow with a 4-step wizard that PMs use to estimate project timelines and determine if deadlines can be met.
There are two versions:
- Full Calculator (
index.html) — For PMs: 4-step wizard with full stage-by-stage configuration, Gantt chart, CSV/iCal export - Client Estimator (
client.html) — For clients: single-page form with 4 inputs, uses SLA defaults automatically
How It Works
- Select Brief Type - Choose from 9 brief types (Country Pull, Global Push, Local Push, Urgent, etc.). Each brief type displays a scope description and auto-populates which of the 8 project stages apply.
- Configure Stages - Toggle stages on/off, set complexity levels, asset volumes (up to 300-400), revision rounds (supports decimals), and market approval days.
- Enter Dates - Set the project kick-off date and required go-live date.
- View Results - See the full timeline breakdown (List + Gantt views), key dates per stage, and a clear Y/N verdict on whether the deadline can be met.
Project Structure
index.html - Full PM calculator (4-step wizard, Gantt chart, CSV/iCal export)
script.js - Full calculator engine + form dynamics
client.html - Simplified client-facing estimator (single page)
client-script.js - Client estimator engine (uses config defaults)
config.json - All business rules (shared by both versions)
Editing Business Rules
All assumptions, stage definitions, complexity levels, cross-reference tables, tooltips, and default values live in config.json. Non-developers can edit this file to update:
- Brief types and stage matrix - Which stages apply to which brief type
- Production cross-reference table - Days by complexity x asset volume
- Syndication cross-reference table - Days by complexity x EAN volume
- Translation word count ranges - Days by word count bucket
- Opera Upload days - Days by asset volume
- Default values - Revision rounds, market approval days, revision days per round
- Tooltips and descriptions - Help text shown to PMs in the UI
- Syndication buffer - Currently 10 business days (configurable)
Key Calculation Logic
- Uses business days (Monday-Friday), not calendar days
- Each active stage adds: Handover (1 day) + WIP days + Market Approval days + (Revision Days x Rounds)
- Syndication buffer: When syndication is active, a 10 business-day buffer is added to the suggested go-live date
- Stages 4 & 5 (Translation PDP + Asset) run in parallel and share one set of inputs
- Opera Upload is mandatory for all brief types — the toggle is locked on and cannot be deactivated by users (controlled via
alwaysActive: truein config.json)
Features
- Dark mode toggle (persists to localStorage)
- Mobile responsive layout
- Export to PDF (landscape A4)
- Export to iCal (.ics) with key milestone dates for Outlook/Google Calendar
- Real-time calculation on every input change
- Tooltips matching the original Excel comments
- Non-contractual dates disclaimer banner
- Brief type scope descriptions displayed as bullet lists
- Gantt chart view alongside list view in results
Running Locally
Open index.html in a browser, or serve with any static file server:
npx serve -l 8080
Then visit http://localhost:8080.
Dependencies (via CDN)
- Tailwind CSS - Styling
- Flatpickr - Date pickers
- html2pdf.js - PDF export
No build step required. No npm install needed.
Deployment
This is a fully static site (HTML + JS + JSON). Deploy to any static hosting:
- Netlify - Drag & drop or connect this repo
- Vercel - Connect this repo for auto-deploy
- SharePoint - Upload files directly
- Azure Static Web Apps - Free tier
Verified Against Excel
The calculator has been verified against the original Excel workbook example:
| Input | Value |
|---|---|
| Brief Type | Country Pull - Simple |
| Active Stages | Production + Opera Upload |
| Production | Simple / 50-100 Assets / 0 revisions / 50% speedup |
| Kick-off | 6 Mar 2026 |
| Go-Live | 9 Mar 2026 |
| Output | Value |
|---|---|
| Production Complete | 16 Mar |
| Opera Upload Complete | 19 Mar |
| Verdict | N (cannot meet deadline) |
Changelog
2026-03-12
- Added non-contractual dates disclaimer banner at top of page
- Revision and approval fields now accept decimal values (e.g. 0.2, 0.5)
- Opera Upload stage is now mandatory for all brief types
- Removed "Speed Up by %" slider from Production stage
- Extended asset volume brackets: added 100-200, 200-300, 300-400 (WIP day values are provisional placeholders — see
SLA_Asset_Brackets_Review.pdf) - Updated all 9 brief type descriptions with client-approved scope definitions
- Brief descriptions now render as bullet lists for easier scanning
2026-03-13
- Opera Upload stage is now fully locked: toggle disabled, badge non-clickable, "Required" label shown in both Step 1 badges and Step 2 stage card
- Uses config-driven
alwaysActiveflag — no hard-coded stage index in JS - Cache-busting version bumped to
v=2026031302
2026-03-13 (Client Estimator)
- Added simplified client-facing calculator (
client.html+client-script.js) - Single-page form: project type, asset volume, kick-off date, go-live date
- Uses config.json default values for all stage parameters (complexity, revisions, approval days)
- Shows active stages with day counts, estimated completion date, Y/N verdict
- Includes syndication buffer note when syndication is active
- PDF export, dark mode, non-contractual disclaimer
- Links to full calculator for detailed configuration