PrintWatt is a static, privacy-friendly, multilingual 3D-printing energy advisor and searchable energy-saving guide. It runs on GitHub Pages without a backend, user account, tracker, or upload service.
Start with:
A ready first prompt is in CODEX_FIRST_PROMPT_PL.txt.
Requirements: Node.js 18+.
npm test
npm run serveOpen http://127.0.0.1:8000/index.html.
The production site has no runtime dependencies. Browser tests use a development-only Playwright dependency:
pnpm install
pnpm exec playwright install chromium firefox webkit
pnpm test:e2e- deterministic hard rules plus Smart Suggestions;
- four complete plan variants;
- non-dismissible safety, fit, and compatibility warnings;
- dismissible optional optimisations with next-best recalculation;
- editable local printer profiles;
- compact, searchable market catalogue with 41 sourced profiles across 10 manufacturers and one selected detail panel;
- material-specific power measurements and source labels;
- versioned local measurement import/export with protected provenance;
- wall-meter energy-to-average-power calculation with local measurement provenance;
- searchable sourced dryer catalogue and a contextual Chitu Systems FilaPartner E1 recommendation;
- local custom material profiles and explicit multi-material paths;
- contextual Chitu Systems E1 dryer recommendation;
- projected-versus-measured plan history with print outcomes and median energy error;
- local text G-code and Prusa BGcode metadata import;
- local 3MF import;
- cooperative import cancellation and safe multi-material detection;
- searchable 49-tip guide;
- 15 interface languages and Arabic RTL;
- PWA/offline cache;
- TXT/JSON/print report export plus a local 1200×630 result card;
- real-world result calibration summary and CSV export;
- private shareable configuration links;
- live and automated 30-scenario validation;
- local applied-plan history and cumulative savings export;
- automated end-to-end coverage for the complete import-to-analysis path.
advisor-core.js— shared rule engine;app.js— Advisor UI/state;data.js— starter materials and printers;gcode-import.js,bgcode-import.js,3mf-import.js— local parsers;guide-data.js— canonical guide;i18n.js,guide-i18n.js— translations;validation-scenarios.js— behavioral specification;service-worker.js— offline cache.
Starter power profiles and alternative-plan calculations are estimates. Material, electrical, fire, chemical, heat, and structural requirements outrank energy reduction. PrintWatt is not certification or engineering approval.
The GitHub Pages workflow runs the complete test suite and deploys the static site after every push to main. Normal updates therefore require only a reviewed commit on main; no build output or server deployment is maintained by hand.
See the docs/ directory for product intent, architecture, durable decisions, testing, security boundaries, data model, and roadmap.