Camelot Web Tools (CWT)
A 100% client-side, local-first utility suite featuring 79 professional financial calculators, developer encoders, vector PDF engines, and business document builders.
Executive Overview & Problem Space
Most online document builders and financial utilities act as lead-generation traps or data-harvesting funnels. Everyday tasks like itemizing a receipt, merging two confidential PDFs, generating a contractor agreement, or converting sensitive bank statements into CSV often require uploading unencrypted files to third-party cloud servers.
Camelot Web Tools was built as a zero-cloud alternative. Every algorithm, conversion pipeline, and file generation engine runs completely inside the client's browser sandbox, Web Workers, or local desktop runtime. User documents and financial data never touch an external database or tracking server.
Core Architectural Highlights
1. Integer-Cent Currency Arithmetic
To eliminate JavaScript's inherent IEEE-754 floating-point rounding errors (e.g. 0.1 + 0.2 === 0.30000000000000004), all 18 financial tools, tax estimators, and invoice generators store, compute, and validate monetary balances strictly as integer cents. Currency formatting occurs exclusively at the final view layer.
2. Vector PDF Generation & In-Memory Bates Stamping
CWT utilizes pdf-lib and direct canvas rendering to construct clean vector documents in-memory. The Bates stamping engine processes multi-megabyte document bundles without server-side queues, preventing sequence collisions through deterministic local numbering indices.
3. Model Context Protocol (MCP) Server Suite
To extend CWT's capabilities to developer environments and automated headless workflows, all 79 utility schemas are packaged into camelotwebtools-mcp, allowing client applications and developer tooling to invoke verified, deterministic financial and document calculations over standard MCP JSON-RPC pipes.
System Specifications
| Architecture Layer | Implementation | Primary Standard |
|---|---|---|
| Frontend Framework | React 18.3, TypeScript 5.6, Vite | Strict type validation, zero runtime errors |
| Styling Architecture | Tailwind CSS, CSS Custom Properties | Anti-AI slop: WCAG AAA contrast (18:1 headings) |
| Storage Layer | IndexedDB (idb wrapper) | 100% local persistence, zero cloud telemetry |
| Document Processing | pdf-lib, fontkit, PapaParse | Vector outputs, zero server uploads |
| Desktop Packaging | Electron 33, NSIS Windows Installer | Offline execution, sandboxed node integration |
| AI Integration | camelotwebtools-mcp (Node.js SDK) | Deterministic tool calling schemas for LLMs |