================================================================ # Godfrey Engineering Tagline: Precision engineering · innovative software Legal name: Godfrey Engineering Ltd Domain: www.godfreyengineering.com Contact — support: info@godfreyengineering.com Contact — sales: info@godfreyengineering.com Contact — legal: legal@godfreyengineering.com Companies House: 16845827 (England & Wales) Registered address: Office 9538, 321–323 High Road, Romford RM6 6AX, United Kingdom Socials: - github: https://github.com/GodfreyEngineering - linkedin: https://linkedin.com/company/godfrey-engineering - x: https://twitter.com/GodfreyEng - instagram: https://instagram.com/godfrey.engineering - facebook: https://facebook.com/GodfreyEngineering - email: mailto:info@godfreyengineering.com Generated: 2026-04-26T15:19:39.013Z Source files: 20 This file follows the llms-full.txt convention (https://llmstxt.org). Every content file under src/content/{pages,services,products,legal,blog}/en is serialised below. Non-EN translations live at /{locale}/. ================================================================ # Automotive Design URL: https://www.godfreyengineering.com/services/automotive-design - Title: Automotive Design - Tagline: Ground-up vehicle programmes, spec to ship. - Description: Ground-up vehicle programmes. architecture, packaging, chassis, body-in-white. Specified to targets, delivered to spec. - Deliverables: - Vehicle architecture studies - Packaging + ergonomics - Chassis & body-in-white - Homologation support - BOM + manufacturing liaison - Process: 1. Targets & Constraints — Define performance targets, regulatory envelope, packaging constraints, cost ceilings, and manufacturing realities. before touching CAD. 2. Concept & Architecture — Competing architectures sketched, costed, and pressure-tested. The best concept moves forward with documented reasons. 3. Design & Analysis — Full CAD definition, FEA-driven structural sizing, weight optimisation, supplier engagement, and pre-production validation. 4. Handover & Support — Complete technical package for manufacture. drawings, BOM, homologation report, and on-call engineering support through launch. ## Sections [feature-grid] [What's included] Every programme, covered end-to-end. • Vehicle Architecture — Top-level architecture studies, packaging strategies, and cross-discipline trade-off decisions documented before a single part is modelled. • Chassis & BIW — Body-in-white structure, primary load paths, joint optimisation, and weight targets derived from the load case, not the catalogue. • Ergonomics & Packaging — Full digital human studies, reach / vision envelopes, ingress/egress, and regulatory eye-point compliance built in from day one. • FEA & Weight Optimisation — Structural, fatigue, and stiffness analyses with convergence documented. Every gram removed traceable to a justified design decision. • Homologation Support — Regulatory mapping against UN/ECE, FMVSS, NCAP, or motorsport homologation frameworks. Compliance gap list from programme kick-off. • Supplier Liaison — RFQ packages, APQP status tracking, and technical supplier reviews. The BOM is yours on day one of manufacture. [faq] [Common questions] Before you brief us. ## Body From first-principles thinking through to production-ready technical packages. vehicle architecture, packaging, chassis, and body-in-white delivered to spec. Our automotive programmes run ground-up, not catalogue-up: material, geometry, and joining method derived from the load case, not the Machinery Handbook index. Every project starts with the physics. Targets and constraints are written down before CAD opens. Competing architectures are sketched, costed, and pressure-tested against those constraints until one wins on documented reasons. Then we build it. ================================================================ # CAD & FEA URL: https://www.godfreyengineering.com/services/cad - Title: CAD & FEA - Tagline: Modelling, drawings, structural simulation. - Description: Parametric CAD, technical drawing, structural / fatigue / thermal FEA. Production-grade documentation. - Deliverables: - Parametric CAD - GD&T drawings - Structural FEA - Fatigue & NVH - Thermal analysis - Process: 1. Model Definition — Design intent captured parametrically. Master models, position-critical features, and mate references defined for the full assembly tree. 2. Analysis — Structural, fatigue, thermal, CFD where relevant. Mesh convergence documented. Boundary conditions justified from first principles. 3. Drawings — GD&T per ASME Y14.5 or ISO 1101. Datums selected to support assembly function, not cosmetic ease. Drawings a supplier can quote without phoning back. 4. Release — Production-grade documentation pack. Drawings, BOM, analysis report, material spec. Revision control matched to your PDM. ## Sections [feature-grid] [Capabilities] Modelling, drawing, and simulation, together. • Parametric CAD — Master-model approach, feature suppression logic, and fully constrained sketches. The model updates when the load case changes, with no sketch-repair rework. • GD&T to ASME Y14.5 / ISO 1101 — Datum scheme derived from assembly function. Tolerance chains closed analytically. A drawing a supplier can quote without a phone call. • Structural FEA — Linear static, non-linear, and buckling analyses. Mesh convergence documented per element type. Result uncertainty quantified, not just reported. • Fatigue & Durability — S-N and ε-N fatigue analyses with Miner's rule and notch correction. Load spectrum defined from duty cycle, not assumed. • Thermal Analysis — Steady-state and transient thermal FEA, CFD-informed boundary conditions. Heat-transfer coefficients measured where literature values carry uncertainty. • Topology Optimisation — SIMP-based topology runs as a design space scout, not a black-box. Results interpreted and engineering-filtered before geometry extraction. [stat-block] [Quality metrics] What production-grade looks like. ## Body Parametric CAD, full GD&T technical drawings, and the FEA that justifies them, structural, fatigue, thermal, NVH. Documentation that passes a supplier's first read and an auditor's second. The discipline is making the numbers honest. A FEA result is only as good as the boundary conditions and the mesh convergence behind it; a GD&T drawing is only useful if the datum scheme supports the assembly function. We write down why, not just what. The report tells you how much the answer could be wrong. ================================================================ # Manufacturing URL: https://www.godfreyengineering.com/services/manufacturing - Title: Manufacturing - Tagline: Test machines, rigs, EV battery containment. - Description: Design of special-purpose machines, test rigs, and end-of-line equipment. From brief to installation. - Deliverables: - Test-rig design - Powerchain rigs - EV battery containment - End-of-line equipment - Controls integration - Process: 1. Process & Regulatory Audit — Understand the line, the product, the regulation (UN 38.3, ATEX, machinery directive). Scope the rig envelope before CAD opens. 2. Architecture — Mechanical, electrical, pneumatic, controls. Define throughput, repeatability, and containment requirements with measurable acceptance criteria. 3. Build & Commission — Parts released, suppliers engaged, PLC logic written, HMI styled. Factory acceptance test passed before it leaves our floor. 4. Install & Hand-off — On-site install, site acceptance test, operator training, maintenance pack. Spare parts traceable, controls source committed, future you can fix it. ## Sections [feature-grid] [Rig types] Built for the test, not the brochure. • Powertrain & Driveline — Engine and transmission endurance rigs, torque-reaction frames, cooling system integration. Designed for 24/7 duty-cycle with remote monitoring. • EV Battery — UN 38.3 containment enclosures, thermal runaway event rigs, cell-to-module-to-pack characterisation. Regulatory acceptance from day one. • Structural & Fatigue — Multi-axis load frames, servo-hydraulic actuator integration, closed-loop control via custom LabVIEW or Python DAQ systems. • End-of-Line — Functional check fixtures, leak test stations, EOL flash and calibration rigs. Cycle times agreed upfront; rework loops designed out. • Thermal & Vibration — Thermal soak / thermal shock chambers, HALT/HASS fixtures, combined temperature-vibration test platforms with full data acquisition. • Controls & HMI — Allen-Bradley, Siemens, Beckhoff PLCs. SCADA integration, operator HMI, historian. Source committed to your repo, not ours. [faq] [Common questions] What to know before you brief us. ## Body Special-purpose machines, test rigs, end-of-line equipment. Built to the specification, signed off against the regulation, installed on the line. Our manufacturing work runs from 72-hour rig turnarounds for a single failed bearing to 22-week EV battery containment programmes with UN 38.3 rating baked in. We write the mechanical design, the controls, the PLC logic, and the maintenance pack. The operator opens the HMI and it does the thing it was specified to do. ================================================================ # Motorsport URL: https://www.godfreyengineering.com/services/motorsport - Title: Motorsport - Tagline: Suspension kinematics, chassis, setup. - Description: Suspension kinematics, chassis stiffness, setup sensitivity. Concept through track validation. - Deliverables: - Kinematic studies (K&C) - Push/pull-rod design - Anti-dive / anti-squat - Wheel rate analysis - Load-case development - Setup sheets - Process: 1. Targets & Data — Start from lap-time delta or tyre-load targets. Pull prior telemetry, rig data, and competition benchmarks into a single decision ledger. 2. Kinematic Design — K&C studies, roll-centre migration, bump-steer budget, motion-ratio sweep. Every change traced to a target. 3. Hardware & Setup — Full hardpoint release, push/pull-rod geometry, damper and spring rates, anti-roll bar sizing. Validated on a virtual rig before any metal cuts. 4. Track Support — Setup sheets that the race engineer signs. On-call through qualifying and race. Rig re-calibration after field changes. ## Sections [feature-grid] [Tools we use] The toolchain behind the lap time. • Adams / MATLAB — MSC Adams for full-vehicle K&C and dynamics simulation. MATLAB + Simulink for setup sensitivity sweeps and driver-in-loop correlation. • CATIA V5 / NX — Primary CAD environments for hardpoint definition, geometry releases, and assembly validation. Full GD&T drawings included. • Ansys / Abaqus — Structural and fatigue FEA for chassis components. Mesh convergence documented; boundary conditions justified from load cases, not defaults. • Virtual Rig — Seven-post rig correlation model that validates spring, damper, and ARB rates before hardware is committed. • Pi Toolbox / MoTeC — Telemetry analysis for track correlation. Lap-by-lap parameter sweeps mapped against chassis model predictions. • Custom Python Pipelines — Automated post-processing of K&C sweeps, roll-centre migration plots, and bump-steer curves. Results in the engineer's hands in minutes, not days. ## Body Fifty-four components, one geometry, zero hand-waves. Our kinematic rewrites ship with full GD&T, FEA, and a setup sheet the race engineer signs off on. We work across formula categories, prototypes, sportscars, and one-make series. wherever the question is "how do we find the next half-second without breaking the budget." Kinematics, chassis stiffness, setup sensitivity. Concept through track validation. We bring the rig model, the correlation data, and the discipline of writing down every assumption. ================================================================ # Powertrain URL: https://www.godfreyengineering.com/services/powertrain - Title: Powertrain - Tagline: ICE · EV · Hybrid. concept through production. - Description: Powertrain engineering from concept through production. Supercar ICE, mid-voltage hybrids, battery-electric. - Deliverables: - Concept studies - Driveline packaging - Thermal management - NVH targets - DVP plans - Process: 1. Concept Study — Architecture trade-off: ICE, hybrid, BEV, range-extender. Power and torque envelope, efficiency map, cost floor, packaging envelope. 2. Integration — Driveline, cooling, NVH, mounting, harness routing. Every interface captured as a signed-off drawing before supplier release. 3. Analysis & Sign-off — Structural, thermal, CFD, NVH targets closed. Durability, fatigue, and DVP plans written. Failure modes enumerated. 4. Production — Supplier engagement, tooling sign-off, pilot build support, launch tracking. Field-return loop closed through post-SOP. ## Sections [stat-block] [Programme outcomes] Numbers from previous engagements. ## Body From 6.5L supercar V12 intakes to mid-voltage hybrid driveline packaging and battery-electric thermal management. our powertrain work covers the full range from concept to SOP. We've cut peak intake temperatures by 34°C on a UK supercar programme, delivered DVP plans that passed first cycle, and closed NVH targets that kept the vehicle team out of re-tuning hell. The heart of it is a willingness to do the integration work rigorously. The engine doesn't care what your org chart says about responsibilities. cooling, mounts, harness, NVH, driveline, emissions all live on the same physical object. ================================================================ # Software URL: https://www.godfreyengineering.com/services/software - Title: Software - Tagline: Custom engineering apps, pipelines, tools. - Description: Software written by engineers for engineers. Data pipelines, bespoke calculators, dashboards, desktop tools. - Deliverables: - Custom web applications - Data pipelines - Desktop tools (Tauri, Electron) - WASM compute modules - CAD automation - Process: 1. Requirements — Understand the actual task the tool will replace. the spreadsheet, the macro, the outsourced script. Capture inputs, outputs, and the edge cases that made the old thing fragile. 2. Architecture — Pick the smallest stack that works. Tauri desktop, static web + Worker backend, WASM compute, or a spreadsheet plug-in. the architecture is the cheapest lever. 3. Build — TypeScript, Rust, Python. Tests first where bugs are expensive. Internal preview at every milestone. You see it behave before it ships. 4. Hand-off — Docs that engineers read, deployment that engineers run. Source committed to your repo, not ours. Hand-off or ongoing maintenance. your call. ## Sections [comparison-table] [The stack] Language · runtime · use case. [faq] [IP & licensing] The things people ask before signing. ## Body We write software for ourselves first. ChainSolve. the Rust + WebAssembly block-graph calculator. is the largest thing we've shipped, but the pattern is the same at smaller scale: if the tool doesn't exist, build it. If it's too slow, rewrite it in something that isn't. Data pipelines, bespoke calculators, dashboards, CAD automation, desktop tooling. Our engineers write the code. It reads like the engineering it supports, because the same people are doing both jobs. ================================================================ # Acceptable Use Policy URL: https://www.godfreyengineering.com/legal/acceptable-use-policy - Title: Acceptable Use Policy - Description: Rules and guidelines governing acceptable use of Godfrey Engineering services, including godfreyengineering.com and ChainSolve. - Last updated: 2026-04-01 - Version: 1.0 ## Body ## 1. Introduction This Acceptable Use Policy ("AUP") sets out the rules and guidelines that govern your use of the website at [godfreyengineering.com](https://www.godfreyengineering.com), ChainSolve, and all other services operated by Godfrey Engineering Ltd ("we", "us", "our", or "Godfrey Engineering"). This AUP is incorporated by reference into our [Terms of Service](/legal/terms). By accessing or using our Services, you agree to comply with this AUP. Capitalised terms not defined in this AUP have the meanings given in the Terms of Service. We may update this AUP from time to time. Material changes will be communicated in accordance with our Terms of Service. Your continued use of the Services after any update constitutes acceptance of the revised AUP. ## 2. Scope This AUP applies to: - All users of the Godfrey Engineering website (godfreyengineering.com), whether registered or unregistered - All users of ChainSolve, including free and paid subscription tiers - All content you create, upload, submit, or transmit through the Services ("User Content") - All interactions with other users through the Services - All use of APIs, integrations, or programmatic access to the Services ## 3. Acceptable Use You may use the Services for lawful purposes that are consistent with their intended function. Acceptable uses include: - Browsing the Godfrey Engineering website for information about our services and expertise - Creating an account and using ChainSolve for engineering calculations, analysis, and design work - Submitting enquiries through our contact forms - Subscribing to and reading our newsletter and blog content - Using our APIs in accordance with any applicable API documentation and rate limits - Sharing links to our public content on social media or other platforms ## 4. Prohibited Activities You agree not to use the Services to engage in any of the following activities. This list is not exhaustive; we reserve the right to determine, in our sole discretion, whether any conduct violates this AUP. ### 4.1 Illegal Activities - Using the Services for any purpose that violates applicable local, national, or international law or regulation - Facilitating, promoting, or assisting illegal activity of any kind - Money laundering, terrorist financing, or sanctions evasion - Distributing, storing, or transmitting content that is illegal under UK law ### 4.2 Harmful or Abusive Content - Uploading, transmitting, or distributing content that is defamatory, obscene, threatening, harassing, discriminatory, or incites violence or hatred - Distributing malware, viruses, worms, trojan horses, ransomware, or any other malicious software or code - Distributing spam, phishing attempts, or social engineering attacks - Publishing or sharing another person's personal or confidential information without their consent ("doxxing") - Impersonating any person, business, or entity, or falsely claiming an affiliation with any person or entity ### 4.3 Security and System Integrity - Attempting to gain unauthorised access to any part of the Services, other users' accounts, or any systems or networks connected to the Services - Circumventing, disabling, or otherwise interfering with security-related features of the Services, including authentication mechanisms, access controls, or rate limiting - Probing, scanning, or testing the vulnerability of the Services or any related system or network, unless you have received our explicit written authorisation to do so - Interfering with or disrupting the Services, servers, or networks connected to the Services, including through denial-of-service attacks (DoS/DDoS) - Using automated tools (bots, crawlers, scrapers) to access the Services in a manner that exceeds reasonable use or violates our robots.txt directives - Attempting to reverse engineer, decompile, disassemble, or derive the source code of any software component of the Services ### 4.4 Intellectual Property Violations - Uploading, transmitting, or distributing content that infringes any third party's Intellectual Property Rights, including copyrights, trademarks, patents, or trade secrets - Using the Services to reproduce, distribute, or create derivative works from copyrighted material without the copyright holder's permission - Removing, altering, or obscuring any copyright, trademark, or other proprietary notices from the Services or any content accessed through the Services ### 4.5 Misuse of Engineering Outputs - Presenting engineering calculations or analyses generated by ChainSolve as independently certified, verified, or validated engineering work without performing appropriate independent professional review - Using ChainSolve outputs in safety-critical applications (including but not limited to structural design, vehicle safety systems, medical devices, or aerospace applications) without independent verification by a qualified and competent professional engineer - Deliberately inputting false, misleading, or nonsensical data into ChainSolve with the intent of generating misleading engineering outputs - Redistributing, reselling, or sublicensing ChainSolve outputs as a competing engineering analysis service ### 4.6 Resource Abuse - Consuming a disproportionate share of system resources (CPU, memory, bandwidth, storage, API calls) relative to your subscription tier or intended use - Using the Services to mine cryptocurrency or perform other computationally intensive tasks unrelated to the Services' intended purpose - Creating multiple free accounts to circumvent subscription limits or usage restrictions - Automating account creation or using the Services in a manner designed to avoid usage-based fees ### 4.7 Commercial Misuse - Reselling, sublicensing, or redistributing access to the Services without our prior written consent - Using the Services to develop a competing product or service - Scraping, harvesting, or extracting data from the Services for commercial purposes without our prior written consent - Using the Services to send unsolicited bulk communications (spam) or advertisements ## 5. User Content Standards All User Content you submit through the Services must comply with the following standards: - **Accuracy:** User Content should be accurate and not intentionally misleading - **Legality:** User Content must not violate any applicable law or regulation - **Ownership:** You must own the User Content or have the necessary rights and permissions to submit it - **Respect:** User Content must not be harassing, threatening, discriminatory, or otherwise harmful to others - **Relevance:** User Content should be relevant to the context in which it is submitted We do not pre-screen User Content, but we reserve the right to review, edit, or remove any User Content that violates this AUP or is otherwise objectionable, at our sole discretion. ## 6. Reporting Violations If you become aware of any violation of this AUP, we encourage you to report it promptly. You can report violations by: - **Email:** [legal@godfreyengineering.com](mailto:legal@godfreyengineering.com) - **Subject line:** "AUP Violation Report" When reporting a violation, please include as much detail as possible: - A description of the violation - The URL or location where the violation occurred - The date and time of the violation (if known) - Any supporting evidence (screenshots, links, etc.) - Your contact information (so we can follow up if needed) We take all reports seriously and will investigate promptly. We will not retaliate against anyone who reports a violation in good faith. ## 7. Investigation and Enforcement ### 7.1 Investigation We reserve the right to investigate any suspected violation of this AUP. During an investigation, we may: - Monitor and review your use of the Services and your User Content - Request information from you regarding the suspected violation - Cooperate with law enforcement or regulatory authorities if required by law or if we believe criminal activity has occurred ### 7.2 Enforcement Actions If we determine that you have violated this AUP, we may take one or more of the following actions, at our sole discretion and without prior notice: - **Warning:** Issue a written warning specifying the violation and requiring you to cease the offending conduct - **Content removal:** Remove or disable access to User Content that violates this AUP - **Temporary suspension:** Temporarily suspend your access to the Services for a period we deem appropriate - **Permanent termination:** Permanently terminate your account and revoke your access to the Services - **Legal action:** Pursue legal remedies, including injunctive relief and damages, for violations that cause harm to Godfrey Engineering, our users, or third parties ### 7.3 Appeal Process If your account is suspended or terminated for an AUP violation, you may appeal the decision by contacting us at [legal@godfreyengineering.com](mailto:legal@godfreyengineering.com) within 14 days of the enforcement action. Your appeal should include: - Your account details (email address used for registration) - The enforcement action you are appealing - An explanation of why you believe the action was taken in error or why your account should be reinstated We will review your appeal and respond within 14 days. Our decision on the appeal is final. ### 7.4 No Obligation to Monitor We are not obligated to monitor the Services for violations of this AUP. However, we reserve the right to do so and to take action when violations are discovered. ## 8. Intellectual Property and Copyright ### 8.1 Respect for Intellectual Property We respect the intellectual property rights of others and expect our users to do the same. If you believe that your copyrighted work has been reproduced on our Services in a way that constitutes copyright infringement, please notify us. ### 8.2 Copyright Infringement Notices To report copyright infringement, please send a written notice to [legal@godfreyengineering.com](mailto:legal@godfreyengineering.com) containing: - Identification of the copyrighted work you claim has been infringed - Identification of the material you claim is infringing and its location on our Services - Your contact information (name, address, telephone number, email address) - A statement that you have a good faith belief that the use of the material is not authorised by the copyright owner, its agent, or the law - A statement that the information in your notice is accurate and, under penalty of perjury, that you are the copyright owner or authorised to act on their behalf - Your physical or electronic signature We will investigate all valid notices and take appropriate action, which may include removing the infringing material. ## 9. Relationship to Other Policies This AUP is part of a suite of legal documents that govern your use of the Services: - [Terms of Service](/legal/terms), The overarching agreement governing your use of the Services - [Privacy Policy](/legal/privacy), How we collect, use, and protect your personal data - [Cookie Policy](/legal/cookies), Detailed information about cookies and tracking technologies In the event of a conflict between this AUP and the Terms of Service, the Terms of Service shall prevail. ## 10. Modifications We reserve the right to modify this AUP at any time. When we make material changes, we will: - Update the "Last updated" date at the top of this page - Post a notice on our website - Where practicable, notify registered users by email Your continued use of the Services after the effective date of any changes constitutes your acceptance of the modified AUP. ## 11. Contact Us If you have any questions about this Acceptable Use Policy, please contact us: - **Email:** [legal@godfreyengineering.com](mailto:legal@godfreyengineering.com) - **General enquiries:** [info@godfreyengineering.com](mailto:info@godfreyengineering.com) - **Website:** [www.godfreyengineering.com](https://www.godfreyengineering.com) Godfrey Engineering Ltd United Kingdom ================================================================ # Cookie Policy URL: https://www.godfreyengineering.com/legal/cookie-policy - Title: Cookie Policy - Description: Detailed information about the cookies and tracking technologies used on godfreyengineering.com, including purpose, duration, and how to manage your preferences. - Last updated: 2026-04-01 - Version: 1.0 ## Body ## 1. What Are Cookies? Cookies are small text files that are placed on your device (computer, tablet, or smartphone) when you visit a website. They are widely used to make websites work more efficiently, to remember your preferences, and to provide information to the website operator. Cookies can be "first-party" (set by the website you are visiting) or "third-party" (set by a different domain than the one you are visiting). They can also be "session" cookies (deleted when you close your browser) or "persistent" cookies (remaining on your device for a set period or until you delete them). Similar technologies include local storage, session storage, and pixels/beacons, which we also describe in this policy. ## 2. How We Use Cookies We use cookies and similar technologies for the following purposes: - **Strictly necessary:** These are essential for the website to function correctly. They enable core features such as security, network management, and accessibility. You cannot opt out of these cookies. - **Analytics:** These help us understand how visitors interact with our website by collecting information about pages visited, time spent, navigation paths, and error occurrences. This data is used to improve our website and services. - **Functional:** These enable enhanced functionality and personalisation, such as remembering your language preference or theme selection. We do **not** currently use marketing or advertising cookies. If this changes in the future, we will update this policy and request your consent before setting any marketing cookies. ## 3. Your Consent When you first visit our website, a cookie consent banner is displayed, giving you the choice to: - **Accept all cookies**, enables all cookie categories (necessary, analytics, functional) - **Reject non-essential cookies**, only strictly necessary cookies are set - **Manage preferences**, choose which categories to enable or disable Your consent preference is stored in your browser's local storage and is valid for 12 months, after which the banner will be shown again. You can change your cookie preferences at any time by clicking the button below: ## 4. Cookies We Use The following table lists all cookies and local storage entries used on our website: ### 4.1 Strictly Necessary These cookies are essential for the website to function. They are set in response to actions you take, such as setting your privacy preferences, logging in, or filling in forms. You cannot opt out of these cookies.
| Name | Provider | Purpose | Type | Duration | | -------------- | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- | -------------------------- | | `ge-consent` | godfreyengineering.com | Stores your cookie consent preferences (which categories you have accepted or rejected). Contains version number, timestamp, and consent choices. | Local Storage | 12 months | | `ge-theme` | godfreyengineering.com | Stores your selected theme preference (light, dark, or system). Prevents flash of wrong theme on page load. | Local Storage | Indefinite (until cleared) | | `__cf_bm` | Cloudflare | Cloudflare Bot Management cookie. Identifies trusted web traffic and prevents malicious bots from accessing the site. Required for DDoS protection. | Cookie (HTTP) | 30 minutes | | `cf_clearance` | Cloudflare | Issued after a visitor successfully completes a Cloudflare security challenge. Confirms the visitor is human. | Cookie (HTTP) | 30 minutes |
### 4.2 Analytics These cookies help us understand how visitors use our website. All data is used for statistical purposes only. These cookies are only set if you have given your consent.
| Name | Provider | Purpose | Type | Duration | | ------------------ | ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- | --------- | | `ph_*` | PostHog (eu.posthog.com) | PostHog product analytics cookies. Used to identify unique visitors (pseudonymised), track page views, and record feature interactions. PostHog is configured with: person profiles disabled for anonymous users, IP collection disabled, session recording disabled. All data is processed on PostHog's EU servers (Frankfurt, Germany). | Cookie (HTTP) | 12 months | | `ph_phc_*_posthog` | PostHog (eu.posthog.com) | PostHog device identifier. A randomly generated ID used to associate events from the same browser session. Does not contain personal data. | Local Storage | 12 months |
### 4.3 Functional These cookies enable enhanced functionality and personalisation. They may be set by us or by third-party providers whose services we have added to our pages.
| Name | Provider | Purpose | Type | Duration | | ---------------------- | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- | -------------------------- | | `ge-locale` | godfreyengineering.com | Stores your preferred language/locale selection (e.g., "en", "de", "ja"). Used to redirect you to your preferred language version on subsequent visits. | Local Storage | Indefinite (until cleared) | | `ge-sidebar-collapsed` | godfreyengineering.com | Remembers whether you have collapsed the sidebar navigation (on pages that have one), preserving your preference across page loads. | Local Storage | Session |
## 5. Third-Party Cookies Some cookies on our website are set by third-party services that we use. We do not control how these third parties use their cookies. For more information, please refer to their respective privacy policies: - **Cloudflare:** [https://www.cloudflare.com/cookie-policy/](https://www.cloudflare.com/cookie-policy/) - **PostHog:** [https://posthog.com/privacy](https://posthog.com/privacy) - **Stripe:** [https://stripe.com/cookies-policy/legal](https://stripe.com/cookies-policy/legal) (Stripe cookies are only set on payment pages) ## 6. How to Control Cookies ### 6.1 Through Our Cookie Banner The simplest way to manage cookies on our website is through the cookie consent banner. You can re-open the banner at any time by: - Clicking the **"Manage Cookie Settings"** button above (Section 3) - Clicking the **"Cookie Settings"** link in the website footer ### 6.2 Through Your Browser Most web browsers allow you to control cookies through their settings. The following links provide instructions for common browsers: - **Google Chrome:** [https://support.google.com/chrome/answer/95647](https://support.google.com/chrome/answer/95647) - **Mozilla Firefox:** [https://support.mozilla.org/en-US/kb/cookies-information-websites-store-on-your-computer](https://support.mozilla.org/en-US/kb/cookies-information-websites-store-on-your-computer) - **Apple Safari:** [https://support.apple.com/guide/safari/manage-cookies-sfri11471/mac](https://support.apple.com/guide/safari/manage-cookies-sfri11471/mac) - **Microsoft Edge:** [https://support.microsoft.com/en-us/microsoft-edge/manage-cookies-in-microsoft-edge-168dab11-0753-043d-7c16-ede5947fc64d](https://support.microsoft.com/en-us/microsoft-edge/manage-cookies-in-microsoft-edge-168dab11-0753-043d-7c16-ede5947fc64d) Please note that disabling cookies may affect the functionality of our website. Strictly necessary cookies cannot be disabled as they are essential for the site to work. ### 6.3 Do Not Track Some browsers offer a "Do Not Track" (DNT) signal. Our website does not currently respond to DNT signals, because there is no industry-standard definition or enforcement mechanism for DNT. You can control analytics consent via the cookie banner at any time. ## 7. Local Storage and Session Storage In addition to cookies, we use the browser's local storage and session storage APIs. These work similarly to cookies but are only accessible by JavaScript on our domain and are not sent with HTTP requests. Local storage entries used on our site: - `ge-consent`, Cookie consent preferences - `ge-theme`, Theme preference (light/dark/system) - `ge-locale`, Language preference - `ge-sidebar-collapsed`, Sidebar state preference - PostHog analytics identifiers (only with analytics consent) You can clear local storage through your browser's developer tools (usually accessible via F12 > Application > Local Storage) or by clearing your browser's site data. ## 8. Updates to This Policy We may update this Cookie Policy from time to time to reflect changes in the cookies we use or for other operational, legal, or regulatory reasons. When we make changes, we will update the "Last updated" date at the top of this page. We recommend that you review this Cookie Policy periodically to stay informed about our use of cookies. ## 9. Further Information For more information about how we process personal data, please see our [Privacy Policy](/legal/privacy). For questions about our use of cookies or to exercise your data protection rights, please contact us: - **Email:** [legal@godfreyengineering.com](mailto:legal@godfreyengineering.com) - **General enquiries:** [info@godfreyengineering.com](mailto:info@godfreyengineering.com) - **Website:** [www.godfreyengineering.com](https://www.godfreyengineering.com) Godfrey Engineering Ltd United Kingdom ================================================================ # Data Processing Agreement URL: https://www.godfreyengineering.com/legal/data-processing-agreement - Title: Data Processing Agreement - Description: Standard Data Processing Agreement for businesses and organisations using Godfrey Engineering services that involve processing personal data. - Last updated: 2026-04-01 - Version: 1.0 ## Body ## 1. Introduction This Data Processing Agreement ("DPA") forms part of the agreement between Godfrey Engineering Ltd ("Processor", "we", "us") and the entity or person agreeing to it ("Controller", "you") for the provision of services as described in the [Terms of Service](/legal/terms/) ("Agreement"). This DPA applies where and only to the extent that Godfrey Engineering processes personal data on behalf of the Controller in the course of providing the Services, and such personal data is subject to the UK General Data Protection Regulation (UK GDPR), the EU General Data Protection Regulation (EU GDPR), or any other applicable data protection legislation. The terms used in this DPA have the meanings given in the UK GDPR unless otherwise defined herein. ## 2. Definitions - **"Applicable Data Protection Law"** means all laws and regulations relating to the processing of personal data, including the UK GDPR, the Data Protection Act 2018, the EU GDPR, and the Privacy and Electronic Communications Regulations 2003 (PECR), as applicable. - **"Controller"** means the entity that determines the purposes and means of the processing of personal data. - **"Data Subject"** means the individual to whom the personal data relates. - **"Personal Data"** means any information relating to an identified or identifiable natural person. - **"Processing"** means any operation or set of operations performed on personal data, including collection, storage, use, disclosure, and deletion. - **"Processor"** means the entity that processes personal data on behalf of the Controller. - **"Sub-Processor"** means a third party engaged by the Processor to process personal data on behalf of the Controller. - **"Security Incident"** means a breach of security leading to the accidental or unlawful destruction, loss, alteration, unauthorised disclosure of, or access to, personal data. ## 3. Scope and Purpose of Processing ### 3.1 Subject Matter The Processor shall process personal data on behalf of the Controller for the purpose of providing the Services described in the Agreement, including: - Hosting and delivering the Controller's account and application data - Processing engineering calculations and analyses via ChainSolve - Sending transactional communications on behalf of the Controller - Providing customer support ### 3.2 Categories of Data Subjects - The Controller's employees and representatives - The Controller's end users and customers - Any other individuals whose personal data is submitted to the Services by the Controller ### 3.3 Types of Personal Data - Names and contact information (email addresses, telephone numbers) - Account credentials (hashed passwords) - Usage data (pages visited, features used, timestamps) - Engineering data (calculation inputs and outputs) - Payment and billing information (processed by Stripe) - Communication content (support messages, contact form submissions) ### 3.4 Duration of Processing The Processor shall process personal data for the duration of the Agreement, unless otherwise agreed in writing. Upon termination of the Agreement, the Processor shall handle personal data in accordance with Section 10 of this DPA. ## 4. Obligations of the Processor The Processor shall: - Process personal data only on the documented instructions of the Controller, unless required by law to do otherwise. In such case, the Processor shall inform the Controller of the legal requirement before processing, unless prohibited by law from doing so. - Ensure that persons authorised to process personal data have committed to confidentiality or are under an appropriate statutory obligation of confidentiality. - Implement appropriate technical and organisational measures to ensure a level of security appropriate to the risk, as described in Section 7. - Not engage another processor (Sub-Processor) without the prior written authorisation of the Controller, subject to Section 6. - Assist the Controller in ensuring compliance with the obligations relating to security of processing, notification of security incidents, data protection impact assessments, and prior consultation with supervisory authorities. - At the choice of the Controller, delete or return all personal data upon termination of the Services, and delete existing copies unless applicable law requires storage. - Make available to the Controller all information necessary to demonstrate compliance with the obligations set out in this DPA and allow for and contribute to audits and inspections conducted by the Controller or its authorised auditor. ## 5. Obligations of the Controller The Controller shall: - Ensure that the processing of personal data under this DPA is lawful, fair, and transparent in accordance with Applicable Data Protection Law. - Provide the Processor with documented instructions for the processing of personal data, and ensure that such instructions comply with Applicable Data Protection Law. - Ensure that Data Subjects have been informed of, and have given any necessary consent to, the processing of their personal data by the Processor. ## 6. Sub-Processors ### 6.1 Authorised Sub-Processors The Controller provides general written authorisation for the Processor to engage the following Sub-Processors:
| Sub-Processor | Purpose | Data Location | | ---------------- | ------------------------ | -------------- | | Cloudflare, Inc. | Hosting, CDN, security | Global (EU/US) | | Supabase, Inc. | Database, authentication | EU (Frankfurt) | | Stripe, Inc. | Payment processing | EU | | Resend, Inc. | Transactional email | US (with SCCs) | | PostHog, Inc. | Product analytics | EU (Frankfurt) |
### 6.2 Changes to Sub-Processors The Processor shall notify the Controller at least 14 days in advance of any intended changes to its Sub-Processors (additions or replacements). The Controller may object to such changes within 14 days of notification. If the Controller objects and the parties cannot resolve the objection, the Controller may terminate the Agreement. ### 6.3 Sub-Processor Obligations The Processor shall ensure that each Sub-Processor is bound by data protection obligations no less protective than those set out in this DPA. ## 7. Security Measures The Processor shall implement and maintain the following technical and organisational measures: - **Encryption in transit:** TLS 1.3 for all data in transit - **Encryption at rest:** AES-256 encryption for stored data - **Access controls:** Role-based access control with least-privilege principle - **Authentication:** Multi-factor authentication for all administrative access - **Password hashing:** bcrypt with a work factor of 12 - **Monitoring:** Continuous monitoring via Cloudflare for infrastructure security and request-level observability - **Backup:** Regular automated backups of application data with encryption - **Incident response:** Documented incident response procedures with defined roles and escalation paths ## 8. Security Incidents ### 8.1 Notification The Processor shall notify the Controller without undue delay, and in any event within 48 hours, after becoming aware of a Security Incident affecting the Controller's personal data. ### 8.2 Notification Content The notification shall include: - A description of the nature of the Security Incident, including the categories and approximate number of Data Subjects and personal data records concerned - The name and contact details of the Processor's point of contact - A description of the likely consequences of the Security Incident - A description of the measures taken or proposed to address the Security Incident ### 8.3 Cooperation The Processor shall cooperate with the Controller and take reasonable steps to assist in the investigation, mitigation, and remediation of the Security Incident. ## 9. International Data Transfers Where the Processor transfers personal data to a Sub-Processor located outside the United Kingdom or the EEA, the Processor shall ensure that one of the following safeguards is in place: - An adequacy decision by the UK Secretary of State or the European Commission - The UK International Data Transfer Agreement (IDTA) or EU Standard Contractual Clauses (SCCs) - Certification under an approved transfer mechanism (e.g., EU-US Data Privacy Framework) Details of the transfer safeguards for each Sub-Processor are available upon request. ## 10. Data Return and Deletion ### 10.1 Upon Termination Upon termination of the Agreement, the Processor shall, at the Controller's election: - Return all personal data to the Controller in a structured, commonly used, and machine-readable format (JSON or CSV); or - Securely delete all personal data and certify such deletion in writing ### 10.2 Retention Exceptions The Processor may retain personal data to the extent required by Applicable Data Protection Law, provided that the Processor shall ensure the confidentiality of such data and shall process it only for the purpose of complying with the legal obligation. ## 11. Audits ### 11.1 Right to Audit The Controller shall have the right to audit the Processor's compliance with this DPA, subject to reasonable notice (at least 30 days) and during normal business hours. ### 11.2 Audit Scope Audits may include inspection of the Processor's facilities, systems, and records relating to the processing of personal data, and interviews with the Processor's personnel. ### 11.3 Costs The Controller shall bear the costs of any audit, unless the audit reveals a material breach of this DPA by the Processor. ## 12. Liability The liability of each party under this DPA shall be subject to the limitations and exclusions of liability set out in the Agreement. ## 13. Governing Law This DPA shall be governed by and construed in accordance with the laws of England and Wales. Any dispute arising out of or in connection with this DPA shall be subject to the exclusive jurisdiction of the courts of England and Wales. ## 14. Contact For questions about this DPA or to request a signed copy, please contact: - **Email:** [legal@godfreyengineering.com](mailto:legal@godfreyengineering.com) - **Website:** [www.godfreyengineering.com](https://www.godfreyengineering.com) Godfrey Engineering Ltd United Kingdom ================================================================ # Privacy Policy URL: https://www.godfreyengineering.com/legal/privacy-policy - Title: Privacy Policy - Description: How Godfrey Engineering Ltd collects, uses, stores, and protects your personal data. Covers all services including godfreyengineering.com and ChainSolve. - Last updated: 2026-04-01 - Version: 1.0 ## Body ## 1. Introduction Godfrey Engineering Ltd ("we", "us", "our", or "Godfrey Engineering") is committed to protecting and respecting your privacy. This Privacy Policy explains how we collect, use, disclose, and safeguard your personal data when you visit our website at [godfreyengineering.com](https://www.godfreyengineering.com), use our products (including ChainSolve), or otherwise interact with our services. Godfrey Engineering Ltd is a company registered in England and Wales. We are the data controller for the personal data described in this policy. **Contact details:** - **Email:** [legal@godfreyengineering.com](mailto:legal@godfreyengineering.com) - **General enquiries:** [info@godfreyengineering.com](mailto:info@godfreyengineering.com) - **Website:** [www.godfreyengineering.com](https://www.godfreyengineering.com) This policy applies to all personal data processed through our website, applications, email communications, and any other service we operate. By using our services, you acknowledge that you have read and understood this policy. ## 2. Data We Collect We collect personal data in the following categories: ### 2.1 Information You Provide Directly - **Account information:** When you create an account for ChainSolve or any other Godfrey Engineering product, we collect your name, email address, and password (hashed, we never store plaintext passwords). - **Contact form submissions:** When you submit a contact form, we collect your name, email address, and the content of your message. - **Payment information:** When you make a purchase or subscribe to a paid service, we collect billing details (name, address, payment card details). Payment card details are processed directly by Stripe and are never stored on our servers. - **Support requests:** When you contact us for support, we collect the information you provide in your request, which may include your name, email, and details about the issue. - **Newsletter subscriptions:** If you subscribe to our newsletter, we collect your email address and, optionally, your name and preferences. ### 2.2 Information Collected Automatically - **Usage data:** Pages visited, time spent on pages, links clicked, referral source, and navigation paths. This data is collected by PostHog (see Section 5). - **Device and browser information:** Browser type and version, operating system, device type, screen resolution, and language preference. - **IP address:** Collected by our hosting provider (Cloudflare) for security and performance purposes. PostHog is configured to discard IP addresses after geolocation. - **Cookies and similar technologies:** See our [Cookie Policy](/legal/cookie-policy) for detailed information about the cookies we use. ### 2.3 Information from Third Parties - **Authentication providers:** If you sign in using a third-party provider (e.g., Google, GitHub), we receive your name, email address, and profile picture from that provider. - **Payment processor:** Stripe provides us with transaction confirmation, the last four digits of your payment card, and billing address to fulfil our contractual obligations. ## 3. Legal Basis for Processing We process your personal data under the following legal bases as defined by the UK General Data Protection Regulation (UK GDPR) and the Data Protection Act 2018: | Legal Basis | Examples | | ------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | | **Contractual necessity** (Article 6(1)(b)) | Processing your account data to provide ChainSolve services; processing payment data to fulfil a purchase | | **Legitimate interests** (Article 6(1)(f)) | Website analytics to improve our services; error monitoring to maintain service quality; security measures to protect our systems | | **Consent** (Article 6(1)(a)) | Newsletter subscriptions; non-essential cookies (analytics, marketing); PostHog product analytics | | **Legal obligation** (Article 6(1)(c)) | Retaining transaction records for tax and accounting purposes; responding to lawful requests from authorities | Where we rely on legitimate interests, we have conducted a balancing test to ensure our interests do not override your fundamental rights and freedoms. You may request details of these assessments by contacting us at [legal@godfreyengineering.com](mailto:legal@godfreyengineering.com). ## 4. How We Use Your Data We use your personal data for the following purposes: - **Service delivery:** To create and manage your account, provide access to our products (including ChainSolve), process transactions, and deliver customer support. - **Communication:** To respond to your enquiries, send transactional emails (order confirmations, password resets, service notifications), and, where you have consented, send marketing communications. - **Analytics and improvement:** To understand how visitors use our website, identify popular content, diagnose technical issues, and improve our services. Analytics data is aggregated and pseudonymised wherever possible. - **Security and fraud prevention:** To protect our services, detect and prevent fraudulent activity, and enforce our Terms of Service. - **Legal compliance:** To comply with applicable laws, regulations, and legal processes, including tax obligations and data protection law. ## 5. Third-Party Data Processors We share personal data with the following third-party service providers, each of whom processes data on our behalf under a Data Processing Agreement (DPA): ### 5.1 Cloudflare (Hosting & CDN) - **Provider:** Cloudflare, Inc. - **Purpose:** Website hosting via Cloudflare Pages, content delivery network (CDN), DDoS protection, DNS resolution, and web application firewall. - **Data processed:** IP addresses, HTTP request headers, page URLs, and performance metrics. - **Data location:** Global edge network; primary processing in EU and US data centres. Cloudflare is certified under the EU-US Data Privacy Framework. - **Retention:** Web traffic logs are retained for a maximum of 72 hours. Aggregated analytics are retained for up to 6 months. - **Privacy policy:** [https://www.cloudflare.com/privacypolicy/](https://www.cloudflare.com/privacypolicy/) ### 5.2 Supabase (Database & Authentication) - **Provider:** Supabase, Inc. - **Purpose:** User authentication, database storage for user accounts and application data. - **Data processed:** Email addresses, hashed passwords, user profile data, and application data stored by users. - **Data location:** EU region (Frankfurt, Germany). - **Retention:** Data is retained for the lifetime of the user account. Deleted account data is purged within 30 days. - **Privacy policy:** [https://supabase.com/privacy](https://supabase.com/privacy) ### 5.3 Stripe (Payments) - **Provider:** Stripe, Inc. - **Purpose:** Payment processing for product purchases and subscriptions. - **Data processed:** Name, email address, billing address, payment card details (handled directly by Stripe, card numbers never touch our servers), transaction history. - **Data location:** EU processing region. Stripe is certified under the EU-US Data Privacy Framework. - **Retention:** Transaction records retained for 7 years to comply with UK tax and accounting obligations. Payment card details are retained by Stripe in accordance with PCI-DSS requirements. - **Privacy policy:** [https://stripe.com/privacy](https://stripe.com/privacy) ### 5.4 Resend (Transactional Email) - **Provider:** Resend, Inc. - **Purpose:** Sending transactional emails (account verification, password resets, order confirmations, support responses) and marketing emails (newsletters, product updates, only with consent). - **Data processed:** Email addresses, names, email content, and delivery metadata (open/click tracking for marketing emails only, with consent). - **Data location:** US-based processing. Data transfer is governed by Standard Contractual Clauses (SCCs). - **Retention:** Email delivery logs retained for 30 days. Marketing engagement data retained for the duration of the subscription. - **Privacy policy:** [https://resend.com/legal/privacy-policy](https://resend.com/legal/privacy-policy) ### 5.5 PostHog (Product Analytics) - **Provider:** PostHog, Inc. - **Purpose:** Product analytics including pageview tracking, feature usage analysis, and user journey mapping. Used to improve our products and website. - **Data processed:** Pseudonymised user identifiers, page URLs, referral sources, browser and device metadata, feature interaction events. IP addresses are discarded after geolocation lookup. - **Data location:** EU-hosted instance (eu.posthog.com, Frankfurt, Germany). - **Consent required:** Yes, PostHog is only initialised after the visitor grants analytics consent via the cookie banner. - **Configuration:** Person profiles disabled for anonymous visitors; session recording disabled; IP collection disabled. - **Retention:** Event data retained for 12 months, then automatically deleted. - **Privacy policy:** [https://posthog.com/privacy](https://posthog.com/privacy) ## 6. International Data Transfers Some of our third-party processors are based outside the United Kingdom and the European Economic Area (EEA). Where data is transferred internationally, we ensure that appropriate safeguards are in place: - **EU-US Data Privacy Framework:** Cloudflare and Stripe are certified under the EU-US Data Privacy Framework, providing an adequacy basis for data transfers. - **Standard Contractual Clauses (SCCs):** For processors not covered by an adequacy decision, we rely on the UK-approved International Data Transfer Agreement (IDTA) or EU Standard Contractual Clauses, as applicable. - **EU-hosted instances:** Where possible, we select EU-hosted instances of services (PostHog EU, Supabase EU) to minimise international data transfers. ## 7. Data Retention We retain personal data only for as long as necessary to fulfil the purposes for which it was collected, unless a longer retention period is required by law. | Data Category | Retention Period | Reason | | --------------------------- | -------------------------------------------- | ---------------------------------------------- | | Account data | Lifetime of account + 30 days after deletion | Service delivery | | Payment transaction records | 7 years from transaction date | UK tax and accounting law (HMRC requirements) | | Contact form submissions | 24 months from submission | Legitimate interest in responding to enquiries | | Newsletter subscriptions | Until unsubscribe + 30 days | Consent-based; data purged after unsubscribe | | Analytics data (PostHog) | 12 months | Legitimate interest in service improvement | | Server logs (Cloudflare) | 72 hours | Security and performance | | Cookie consent preferences | 12 months | Regulatory compliance | When personal data is no longer required, it is securely deleted or anonymised so that it can no longer be associated with you. ## 8. Your Rights Under the UK GDPR Under the UK General Data Protection Regulation and the Data Protection Act 2018, you have the following rights regarding your personal data: ### 8.1 Right of Access (Article 15) You have the right to request a copy of the personal data we hold about you. We will respond to your request within one calendar month. ### 8.2 Right to Rectification (Article 16) You have the right to request that we correct any inaccurate or incomplete personal data we hold about you. ### 8.3 Right to Erasure (Article 17) You have the right to request that we delete your personal data where: - The data is no longer necessary for the purpose for which it was collected - You withdraw consent (where consent was the legal basis) - You object to processing and there are no overriding legitimate grounds - The data has been unlawfully processed - Erasure is required to comply with a legal obligation Note: We may retain certain data where required by law (e.g., financial transaction records for tax purposes). ### 8.4 Right to Restriction of Processing (Article 18) You have the right to request that we restrict the processing of your personal data in certain circumstances, such as when you contest the accuracy of the data or object to processing based on legitimate interests. ### 8.5 Right to Data Portability (Article 20) Where processing is based on consent or contractual necessity, and is carried out by automated means, you have the right to receive your personal data in a structured, commonly used, and machine-readable format (JSON or CSV), and to transmit it to another controller. ### 8.6 Right to Object (Article 21) You have the right to object to processing based on legitimate interests. We will cease processing unless we can demonstrate compelling legitimate grounds that override your rights. You also have the right to object to direct marketing at any time. If you object, we will stop processing your data for direct marketing purposes immediately. ### 8.7 Rights Related to Automated Decision-Making (Article 22) We do not currently make any decisions based solely on automated processing that produce legal or similarly significant effects on you. If this changes, we will update this policy and provide you with appropriate safeguards. ### 8.8 Right to Withdraw Consent Where processing is based on consent, you may withdraw your consent at any time. Withdrawal of consent does not affect the lawfulness of processing carried out before the withdrawal. To withdraw cookie consent, use the "Cookie Settings" link in the footer of our website or visit our [Cookie Policy](/legal/cookie-policy). ## 9. Exercising Your Rights To exercise any of the rights described above, please contact us: - **Email:** [legal@godfreyengineering.com](mailto:legal@godfreyengineering.com) - **Subject line:** "Data Subject Access Request" (or the specific right you wish to exercise) We will verify your identity before processing your request. We may ask you to provide additional information to confirm your identity, particularly if the request is made via email. We will respond to all valid requests within **one calendar month**. In exceptional circumstances (e.g., complex or numerous requests), we may extend this period by a further two months, in which case we will notify you of the extension and the reasons for it. There is no fee for exercising your rights. However, we may charge a reasonable fee or refuse to act on a request if it is manifestly unfounded or excessive. ## 10. Cookies and Tracking Technologies We use cookies and similar technologies on our website. For detailed information about the cookies we use, their purpose, duration, and how to manage your preferences, please see our [Cookie Policy](/legal/cookie-policy). You can manage your cookie preferences at any time by clicking the "Cookie Settings" link in the website footer. ## 11. Children's Data Our services are not directed at individuals under the age of 16. We do not knowingly collect personal data from children under 16. If we become aware that we have collected personal data from a child under 16, we will take steps to delete that data as quickly as possible. If you believe that we may have collected data from a child under 16, please contact us at [legal@godfreyengineering.com](mailto:legal@godfreyengineering.com). ## 12. Security Measures We implement appropriate technical and organisational measures to protect your personal data against unauthorised access, alteration, disclosure, or destruction. These measures include: - **Encryption in transit:** All data transmitted between your browser and our servers is encrypted using TLS 1.3 (HTTPS), enforced by Cloudflare. - **Encryption at rest:** User data stored in Supabase is encrypted at rest using AES-256 encryption. - **Access controls:** Access to personal data is restricted to authorised personnel on a need-to-know basis. - **Password hashing:** User passwords are hashed using bcrypt with a work factor of 12. Plaintext passwords are never stored. - **Regular security reviews:** We conduct periodic security reviews of our infrastructure and third-party integrations. - **Incident response:** We maintain an incident response procedure. In the event of a personal data breach, we will notify the Information Commissioner's Office (ICO) within 72 hours where required, and affected individuals without undue delay where the breach is likely to result in a high risk to their rights and freedoms. ## 13. Links to Third-Party Websites Our website may contain links to third-party websites and services. We are not responsible for the privacy practices of these third parties. We encourage you to read the privacy policies of any third-party websites you visit. ## 14. Changes to This Privacy Policy We may update this Privacy Policy from time to time to reflect changes in our practices, services, or applicable law. When we make material changes, we will: - Update the "Last updated" date at the top of this page - Post a notice on our website for a reasonable period - Where legally required, notify you by email We encourage you to review this policy periodically. Your continued use of our services after any changes constitutes acceptance of the updated policy. ## 15. Complaints If you are unsatisfied with our response to a data protection concern, you have the right to lodge a complaint with the UK supervisory authority: **Information Commissioner's Office (ICO)** - Website: [https://ico.org.uk/make-a-complaint/](https://ico.org.uk/make-a-complaint/) - Telephone: 0303 123 1113 - Address: Wycliffe House, Water Lane, Wilmslow, Cheshire, SK9 5AF, United Kingdom We would appreciate the opportunity to address your concerns before you contact the ICO. Please contact us first at [legal@godfreyengineering.com](mailto:legal@godfreyengineering.com). ## 16. Contact Us If you have any questions about this Privacy Policy or our data protection practices, please contact us: - **Data protection enquiries:** [legal@godfreyengineering.com](mailto:legal@godfreyengineering.com) - **General enquiries:** [info@godfreyengineering.com](mailto:info@godfreyengineering.com) - **Website:** [www.godfreyengineering.com](https://www.godfreyengineering.com) Godfrey Engineering Ltd United Kingdom ================================================================ # Terms of Service URL: https://www.godfreyengineering.com/legal/terms-of-service - Title: Terms of Service - Description: Terms and conditions governing your use of godfreyengineering.com, ChainSolve, and all Godfrey Engineering services. - Last updated: 2026-04-01 - Version: 1.0 ## Body ## 1. Agreement to Terms These Terms of Service ("Terms") constitute a legally binding agreement between you ("you", "your", or "User") and Godfrey Engineering Ltd ("we", "us", "our", or "Godfrey Engineering"), a company registered in England and Wales. By accessing or using our website at [godfreyengineering.com](https://www.godfreyengineering.com), our products (including ChainSolve), or any related services (collectively, the "Services"), you confirm that you have read, understood, and agree to be bound by these Terms and our [Privacy Policy](/legal/privacy). If you do not agree to these Terms, you must not access or use our Services. If you are accessing or using the Services on behalf of a business or other legal entity, you represent and warrant that you have the authority to bind that entity to these Terms, in which case "you" refers to that entity. ## 2. Definitions In these Terms, the following definitions apply: - **"Content"** means any text, images, data, software, code, documentation, or other material made available through the Services. - **"User Content"** means any content you create, upload, submit, or transmit through the Services. - **"ChainSolve"** means the engineering calculation and analysis software application operated by Godfrey Engineering. - **"Subscription"** means a paid plan granting you access to premium features of the Services for a defined period. - **"Intellectual Property Rights"** means all patents, copyrights, trademarks, trade secrets, database rights, design rights, and all other intellectual property rights, whether registered or unregistered. ## 3. Description of Services Godfrey Engineering provides: - **Website (godfreyengineering.com):** An informational website showcasing our engineering consultancy services, portfolio, and expertise in automotive design, motorsport engineering, and software development. - **ChainSolve:** A web-based engineering calculation and analysis platform. ChainSolve may be offered as a free tier with limited features and as paid subscription tiers with additional capabilities. - **Engineering consultancy:** Professional engineering consultancy services, which are subject to separate engagement agreements. We reserve the right to modify, suspend, or discontinue any part of the Services at any time, with or without notice. We will make reasonable efforts to provide advance notice of material changes. ## 4. Account Registration ### 4.1 Account Creation To access certain features of the Services (including ChainSolve), you may be required to create an account. When creating an account, you agree to: - Provide accurate, current, and complete information - Maintain and promptly update your account information to keep it accurate - Maintain the security and confidentiality of your login credentials - Accept responsibility for all activity that occurs under your account - Notify us immediately at [info@godfreyengineering.com](mailto:info@godfreyengineering.com) if you suspect unauthorised use of your account ### 4.2 Account Eligibility You must be at least 16 years of age to create an account or use the Services. By creating an account, you represent and warrant that you meet this age requirement. ### 4.3 Account Termination We reserve the right to suspend or terminate your account at any time if we reasonably believe that you have violated these Terms or our [Acceptable Use Policy](/legal/acceptable-use). We will provide notice of termination where practicable. You may delete your account at any time by contacting us at [info@godfreyengineering.com](mailto:info@godfreyengineering.com) or through your account settings. Upon deletion, we will remove your personal data in accordance with our [Privacy Policy](/legal/privacy). ## 5. Subscriptions and Payments ### 5.1 Paid Services Certain features of the Services are available only through paid subscriptions. Subscription pricing, features, and billing cycles are described on our pricing pages. All prices are quoted in GBP (British Pounds Sterling) unless otherwise stated and are exclusive of VAT where applicable. ### 5.2 Payment Processing Payments are processed by Stripe, Inc. By making a payment, you agree to Stripe's terms of service. We do not store your payment card details on our servers. ### 5.3 Billing and Renewal Subscriptions are billed in advance on a recurring basis (monthly or annually, depending on the plan you select). Your subscription will automatically renew at the end of each billing period unless you cancel it before the renewal date. ### 5.4 Cancellation You may cancel your subscription at any time through your account settings or by contacting us at [info@godfreyengineering.com](mailto:info@godfreyengineering.com). Cancellation takes effect at the end of the current billing period. You will retain access to paid features until the end of the period you have already paid for. ### 5.5 Refunds We offer refunds in the following circumstances: - **Within 14 days of initial purchase:** If you are a consumer based in the UK or EU, you have the right to cancel within 14 days of your initial subscription purchase and receive a full refund, in accordance with the Consumer Contracts (Information, Cancellation and Additional Charges) Regulations 2013. - **Service outage:** If the Services experience a material outage exceeding 72 consecutive hours, you may request a pro-rata refund for the affected period. Refund requests should be sent to [info@godfreyengineering.com](mailto:info@godfreyengineering.com). ### 5.6 Price Changes We may change subscription prices from time to time. We will provide at least 30 days' notice of any price increase. The new price will apply from your next billing cycle after the notice period. ## 6. Intellectual Property ### 6.1 Our Intellectual Property All Intellectual Property Rights in the Services, including but not limited to the website design, layout, graphics, logos, text content, software code, algorithms, data structures, and documentation, are owned by or licensed to Godfrey Engineering Ltd. Except as expressly permitted by these Terms, you may not: - Copy, modify, distribute, sell, or lease any part of the Services - Reverse engineer, decompile, or disassemble any software component of the Services - Remove, alter, or obscure any copyright, trademark, or other proprietary notices - Use our trademarks, trade names, or logos without prior written consent ### 6.2 Your Content You retain ownership of any User Content you create, upload, or submit through the Services. By submitting User Content, you grant Godfrey Engineering a non-exclusive, worldwide, royalty-free licence to use, store, process, and display your User Content solely for the purpose of providing and improving the Services. You represent and warrant that: - You own or have the necessary rights to submit the User Content - Your User Content does not infringe the Intellectual Property Rights of any third party - Your User Content does not violate any applicable law or regulation ### 6.3 Feedback If you provide us with feedback, suggestions, or ideas regarding the Services ("Feedback"), you grant us an unrestricted, irrevocable, perpetual, royalty-free licence to use, modify, and incorporate that Feedback into the Services without any obligation or compensation to you. ## 7. Acceptable Use Your use of the Services is subject to our [Acceptable Use Policy](/legal/acceptable-use), which is incorporated into these Terms by reference. Violation of the Acceptable Use Policy constitutes a breach of these Terms. ## 8. Disclaimer of Warranties ### 8.1 "As Is" Basis To the maximum extent permitted by applicable law, the Services are provided on an "AS IS" and "AS AVAILABLE" basis, without any warranties or conditions of any kind, whether express, implied, or statutory. ### 8.2 No Warranty of Accuracy We do not warrant that: - The Services will be uninterrupted, timely, secure, or error-free - The results obtained from the Services will be accurate or reliable - Any errors or defects in the Services will be corrected - The Services will meet your specific requirements ### 8.3 Engineering Calculations **Important:** ChainSolve and any engineering calculations or analyses provided through the Services are tools intended to assist qualified professionals. They are **not** a substitute for independent professional engineering judgement, verification, and validation. You acknowledge and agree that: - All engineering outputs must be independently verified before reliance or use in production - Godfrey Engineering does not certify, warrant, or guarantee the accuracy, completeness, or fitness for purpose of any calculation output - You are solely responsible for any decisions made based on outputs from the Services - The Services are not intended for use in safety-critical applications without independent verification by a qualified professional engineer ### 8.4 Consumer Rights Nothing in these Terms affects your statutory rights as a consumer under UK law, including the Consumer Rights Act 2015. If the Services do not meet the standards set out in the Consumer Rights Act, you may have a right to a refund, repair, or replacement. ## 9. Limitation of Liability ### 9.1 Exclusion of Liability To the maximum extent permitted by applicable law, Godfrey Engineering shall not be liable for any: - Indirect, incidental, special, consequential, or punitive damages - Loss of profits, revenue, data, business, or anticipated savings - Loss of goodwill or reputation - Cost of procuring substitute goods or services arising out of or in connection with your use of, or inability to use, the Services, whether based on warranty, contract, tort (including negligence), or any other legal theory, even if we have been advised of the possibility of such damages. ### 9.2 Aggregate Liability Cap To the maximum extent permitted by applicable law, our total aggregate liability to you for all claims arising out of or in connection with these Terms or the Services shall not exceed the greater of: - The total amount you have paid to us in the 12 months immediately preceding the event giving rise to the claim; or - One hundred pounds sterling (GBP 100.00) ### 9.3 Exclusions Nothing in these Terms shall exclude or limit our liability for: - Death or personal injury caused by our negligence - Fraud or fraudulent misrepresentation - Any liability that cannot be excluded or limited under applicable law, including liability under the Consumer Rights Act 2015 ## 10. Indemnification You agree to indemnify, defend, and hold harmless Godfrey Engineering Ltd, its directors, officers, employees, and agents from and against any and all claims, damages, losses, liabilities, costs, and expenses (including reasonable legal fees) arising out of or in connection with: - Your use of the Services in violation of these Terms - Your User Content - Your violation of any applicable law or regulation - Your violation of any third party's rights, including Intellectual Property Rights ## 11. Availability and Force Majeure ### 11.1 Service Availability We use commercially reasonable efforts to ensure the availability of the Services. However, we do not guarantee any specific uptime or availability level unless otherwise agreed in a separate service level agreement (SLA). ### 11.2 Force Majeure We shall not be liable for any failure or delay in performing our obligations under these Terms where such failure or delay results from circumstances beyond our reasonable control, including but not limited to: acts of God, natural disasters, pandemics, war, terrorism, civil unrest, government actions, power failures, internet or telecommunications failures, cyberattacks, or failures of third-party service providers. ## 12. Third-Party Services The Services may contain links to, or integrations with, third-party websites, applications, or services. We are not responsible for the content, privacy practices, or terms of any third-party services. Your use of third-party services is at your own risk and subject to the terms and conditions of those third parties. ## 13. Privacy Our collection and use of personal data in connection with the Services is described in our [Privacy Policy](/legal/privacy). By using the Services, you acknowledge that you have read and understood our Privacy Policy. ## 14. Modifications to These Terms We reserve the right to modify these Terms at any time. When we make material changes, we will: - Update the "Last updated" date at the top of this page - Post a notice on our website - Where practicable, notify registered users by email at least 14 days before the changes take effect Your continued use of the Services after the effective date of any changes constitutes your acceptance of the modified Terms. If you do not agree to the modified Terms, you must stop using the Services and, if applicable, cancel your subscription. ## 15. Governing Law and Jurisdiction ### 15.1 Governing Law These Terms shall be governed by and construed in accordance with the laws of England and Wales, without regard to its conflict of law principles. ### 15.2 Jurisdiction Any dispute arising out of or in connection with these Terms shall be subject to the exclusive jurisdiction of the courts of England and Wales. ### 15.3 Consumer Rights If you are a consumer, nothing in this section affects your right to bring proceedings in the courts of the country in which you are domiciled, or any mandatory consumer protection laws that apply to you. ## 16. Dispute Resolution ### 16.1 Informal Resolution Before initiating any formal proceedings, you agree to first attempt to resolve any dispute informally by contacting us at [legal@godfreyengineering.com](mailto:legal@godfreyengineering.com). We will attempt to resolve the dispute within 30 days. ### 16.2 Mediation If the dispute cannot be resolved informally, either party may propose mediation through a mutually agreed mediator or through the Centre for Effective Dispute Resolution (CEDR). The costs of mediation shall be shared equally between the parties. ### 16.3 Court Proceedings If the dispute is not resolved through mediation within 60 days, either party may commence court proceedings in accordance with Section 15 (Governing Law and Jurisdiction). ## 17. General Provisions ### 17.1 Severability If any provision of these Terms is found to be invalid, illegal, or unenforceable by a court of competent jurisdiction, that provision shall be modified to the minimum extent necessary to make it valid and enforceable, or if modification is not possible, it shall be severed from these Terms. The remaining provisions shall continue in full force and effect. ### 17.2 Waiver Our failure to enforce any right or provision of these Terms shall not constitute a waiver of that right or provision. A waiver of any term shall only be effective if made in writing and signed by an authorised representative of Godfrey Engineering. ### 17.3 Entire Agreement These Terms, together with the [Privacy Policy](/legal/privacy), [Cookie Policy](/legal/cookie-policy), and [Acceptable Use Policy](/legal/acceptable-use), constitute the entire agreement between you and Godfrey Engineering regarding the Services and supersede all prior agreements, understandings, and communications, whether written or oral. ### 17.4 Assignment You may not assign or transfer your rights or obligations under these Terms without our prior written consent. We may assign our rights and obligations under these Terms without restriction. ### 17.5 No Third-Party Beneficiaries These Terms do not create any third-party beneficiary rights. Nothing in these Terms is intended to confer any right or benefit on any person other than the parties to these Terms, and no third party shall have any right to enforce any provision of these Terms under the Contracts (Rights of Third Parties) Act 1999. ### 17.6 Notices All notices to Godfrey Engineering under these Terms should be sent to: - **Email:** [legal@godfreyengineering.com](mailto:legal@godfreyengineering.com) - **General enquiries:** [info@godfreyengineering.com](mailto:info@godfreyengineering.com) Notices to you will be sent to the email address associated with your account, or posted on our website for unregistered users. ### 17.7 Survival The following sections shall survive termination or expiration of these Terms: Section 6 (Intellectual Property), Section 8 (Disclaimer of Warranties), Section 9 (Limitation of Liability), Section 10 (Indemnification), Section 15 (Governing Law and Jurisdiction), and this Section 17 (General Provisions). ## 18. Contact Us If you have any questions about these Terms, please contact us: - **Email:** [legal@godfreyengineering.com](mailto:legal@godfreyengineering.com) - **General enquiries:** [info@godfreyengineering.com](mailto:info@godfreyengineering.com) - **Website:** [www.godfreyengineering.com](https://www.godfreyengineering.com) Godfrey Engineering Ltd United Kingdom ================================================================ # Engineering From First Principles: Why Templates Fail and Physics Wins URL: https://www.godfreyengineering.com/blog/engineering-first-principles - Title: Engineering From First Principles: Why Templates Fail and Physics Wins - Description: An argument for first-principles engineering thinking over template-driven design, and how it applies equally to mechanical systems and software. - Author: ben-godfrey - Published: 2026-02-15 - Tags: engineering, methodology, automotive ## Body Every experienced engineer has a mental collection of "good enough" solutions. Beam theory approximations. Standard fatigue curves. Rule-of-thumb clearances. These are valuable, they let you move quickly through problems you've seen before. But they can also be a trap. ## The Seduction of the Template A template is a solved problem. Someone else, often someone with more experience and better tools than you, has already worked through the physics, the material properties, the boundary conditions. You inherit their answer. The danger is when the template no longer fits the problem. You're designing a suspension upright for a touring car, and you reach for the formula used on the last project. Same material, similar load case, comparable mass. It should be fine. Except the new car is fifty kilograms lighter, the tyre generates forty percent more peak lateral load, and the geometry was optimised for a different tyre profile. The boundary conditions are different in ways that aren't visible from the outside. ## Building from the Foundation First-principles engineering means going back to the physics every time. What are the loads? Where are they applied? What are the failure modes? What does the material actually do under those conditions? This doesn't mean ignoring prior work, it means understanding it deeply enough to know when it applies and when it doesn't. ================================================================ # Getting Started with ChainSolve: Building Your First Calculation Chain URL: https://www.godfreyengineering.com/blog/getting-started-with-chainsolve - Title: Getting Started with ChainSolve: Building Your First Calculation Chain - Description: A walkthrough of ChainSolve's core concepts, blocks, connections, and how to structure a real engineering calculation. - Author: ben-godfrey - Published: 2026-03-01 - Tags: chainsolve, tutorial, software ## Body ChainSolve is built around a simple but powerful idea: engineering calculations are graphs, not lists. In a traditional spreadsheet, you write formulas top to bottom. Cell A1 feeds B1, B1 feeds C1. This works until you need to reuse a calculation, share it with a colleague, or understand why a cell two hundred rows down has an unexpected value. ChainSolve replaces this linear model with an explicit graph of calculation blocks, each block takes typed inputs, applies a formula or lookup, and outputs typed results. You wire blocks together to form a chain. ## Why Graphs Beat Spreadsheets for Engineering A graph model gives you several things that spreadsheets can't: **Reusability.** A block that calculates bolt shear stress can be used in a dozen different chains without copying and pasting formulas. **Traceability.** Every value has an explicit path from input to output. There are no hidden dependencies. **Review.** A colleague can read a chain like a document, each step is labelled, typed, and described. ## Your First Chain: Beam Bending Let's calculate the maximum bending stress in a simply supported beam under a central point load. The calculation has four steps: 1. **Inputs**, beam length L, load F, cross-section dimensions b × h 2. **Moment**, M = F × L / 4 (maximum moment at midspan) 3. **Section modulus**, Z = b × h² / 6 4. **Bending stress**, σ = M / Z In ChainSolve, each of these becomes a block. The connections between them are explicit. ================================================================ # Building Our Engineering Website with Astro 5 URL: https://www.godfreyengineering.com/blog/hello-world - Title: Building Our Engineering Website with Astro 5 - Description: A behind-the-scenes look at how we built the Godfrey Engineering website using Astro 5, content collections, and Cloudflare Pages. - Author: ben-godfrey - Published: 2025-06-15 - Updated: 2025-06-20 - Tags: web-development, astro, engineering ## Body ## Why Astro? When it came time to build the Godfrey Engineering marketing website, we evaluated several frameworks. Astro stood out for its **content-first** approach, **zero JavaScript by default** philosophy, and first-class support for content collections with type-safe schemas. ## Content Collections Astro 5's content collections let us define strict schemas for our blog posts and case studies using Zod. Every field is validated at build time, if a frontmatter field is missing or malformed, the build fails with a clear error message. No more silent bugs from typos in YAML. ```typescript const blogSchema = z.object({ title: z.string().min(1).max(100), description: z.string().min(10).max(300), publishDate: z.coerce.date(), // ... more fields }); ``` ## Multi-Language Support With 7 locales to support, we organise content by locale directory. Each post has a `translationKey` that links it to its counterparts in other languages. The translation switcher in the header automatically finds the matching post. ## What's Next In upcoming posts, we'll dive into our GSAP animation system, Three.js integration for the hero section, and how we handle contact form submissions with Cloudflare Workers and Resend. Stay tuned. ================================================================ # Introducing Godfrey Engineering: Design Tools Built by Engineers, for Engineers URL: https://www.godfreyengineering.com/blog/introducing-godfrey-engineering - Title: Introducing Godfrey Engineering: Design Tools Built by Engineers, for Engineers - Description: Why we started Godfrey Engineering, what we believe about the state of engineering software, and where we're heading. - Author: ben-godfrey - Published: 2026-03-15 - Tags: company, announcement ## Body ## The Problem We Keep Seeing Every engineering team we have worked with, from three-person motorsport outfits to tier-one automotive suppliers, runs into the same bottleneck. The design work itself is hard but tractable. The real friction is everything around it: tracking calculation assumptions, maintaining traceability between requirements and analysis, communicating design intent across disciplines, and ensuring that when one parameter changes the downstream consequences are understood. Spreadsheets are the universal tool for this work. They are flexible, accessible, and universally understood. They are also completely inadequate for anything beyond a single-author, single-use calculation. There is no version control. No dependency graph. No audit trail. No way to compose a validated suspension kinematics calculation with a validated spring rate calculation and know that the interface between them is correct. This is the problem Godfrey Engineering exists to solve. ## Who We Are Godfrey Engineering Ltd is a UK-based engineering consultancy and software company founded by Ben Godfrey, a mechanical design engineer with a background spanning motorsport, automotive OEM, and tier-one supplier work. The company operates across two activities: **Engineering consultancy**, mechanical design, suspension geometry, structural analysis, and design-for-manufacture work for automotive and motorsport clients. This is the domain experience that informs everything we build. **Engineering software**, specifically, [ChainSolve](/products/chainsolve), a calculation management platform that treats engineering calculations as composable, version-controlled, auditable blocks rather than opaque spreadsheet cells. These two activities feed each other directly. Consultancy work reveals the actual pain points that engineers face daily. Software development produces tools that make the consultancy work faster and more reliable. Neither exists in isolation. ## What We Believe A few convictions drive our approach: **Engineers should own their calculations.** Not IT departments, not PLM administrators, not SaaS vendors who hold your data hostage. Your engineering knowledge is your competitive advantage. The tools you use to capture it should respect that. **Traceability is not optional.** In safety-critical industries, automotive, aerospace, medical devices, being able to demonstrate that a design decision was based on a validated calculation, with known inputs and stated assumptions, is not a nice-to-have. It is a regulatory requirement and a professional obligation. **Composition beats monoliths.** A suspension design calculation should be built from reusable, validated sub-calculations: spring rate, motion ratio, natural frequency, roll gradient. Each one tested independently, composed explicitly, with clear interfaces. This is how software engineers build reliable systems. Mechanical engineers deserve the same approach. **Open standards matter.** Engineering data locked in proprietary formats is engineering data at risk. We build on open formats, document our schemas, and ensure that your work is exportable and portable. ## What Comes Next Over the coming months we will be publishing technical content here covering: - Deep dives into ChainSolve's architecture and the engineering problems it solves - Thought leadership on calculation management, traceability, and design process - Technical articles on automotive and motorsport engineering topics - Behind-the-scenes looks at how we build our tools (Rust, WebAssembly, Astro) If you are an engineer frustrated by the state of engineering calculation tools, or a team leader trying to improve traceability and knowledge capture in your organisation, we would like to hear from you. Reach out via our [contact page](/contact) or connect on [LinkedIn](https://www.linkedin.com/company/godfrey-engineering). Welcome to Godfrey Engineering. ================================================================ # Motorsport Suspension Geometry: Kinematics vs Compliance URL: https://www.godfreyengineering.com/blog/motorsport-suspension-design - Title: Motorsport Suspension Geometry: Kinematics vs Compliance - Description: The fundamental tension in suspension design, what kinematic analysis tells you, what it doesn't, and how compliance changes everything. - Author: ben-godfrey - Published: 2026-01-20 - Tags: motorsport, suspension, automotive ## Body When you set up the suspension kinematics for a racing car, you're solving a geometry problem. Given the wheel travel range and desired wheel attitude at each end of that range, find the linkage geometry that achieves it. This is a tractable problem. Tools like Adams Car, VSUSIM, or even a custom Python script can solve it precisely. You define your wishbone pivot points, your upright geometry, and your spring and damper pickup locations, and the software tells you how camber, toe, caster, and scrub radius change through bump and droop. ## What Kinematic Analysis Tells You A pure kinematic model assumes rigid bodies connected by perfect joints. Every component is infinitely stiff. Every pickup is a precise point in space. Within these assumptions, kinematic analysis is exact. You will get the geometry you design. If you want 2° of negative camber gain per 25mm of bump travel, you can achieve it by choosing the right wishbone geometry. ## What It Doesn't Tell You The moment you attach the car to the ground and put a driver in it, the real world asserts itself. Every component deflects under load. Wishbone tubes bend. Upright forgings twist. Wheel bearing housings rack. Pickup brackets rotate around their mounting bolts. The car you built is not the car you designed. This is compliance, and on a modern racing car it can change the wheel attitude by as much or more than the kinematic system you spent months optimising. ================================================================ # From Motorsport to Manufacturing: What Racing Teaches You About Production Engineering URL: https://www.godfreyengineering.com/blog/motorsport-to-manufacturing - Title: From Motorsport to Manufacturing: What Racing Teaches You About Production Engineering - Description: Lessons learned moving from motorsport design to production automotive engineering, and why the transition is harder than most people expect. - Author: ben-godfrey - Published: 2026-02-05 - Tags: motorsport, automotive, engineering ## Body ## Two Different Worlds Motorsport engineering and production automotive engineering are both mechanical engineering disciplines that deal with vehicles. That is roughly where the similarities end. In motorsport, you design one component (or a small batch), manufacture it quickly, test it on track, and iterate. The feedback loop is measured in days or weeks. If a suspension upright cracks during testing, you redesign it overnight, machine a new one, and bolt it on for the next session. The cost of being wrong is time and material for one part. In production engineering, you design a component that will be manufactured millions of times over a ten-year programme. The feedback loop is measured in months or years. If a suspension knuckle has a problem after start of production, the cost is a tooling change that takes six months to validate, a recall that affects hundreds of thousands of vehicles, and warranty costs that can reach eight figures. These different constraints produce fundamentally different engineering cultures, and engineers moving from one to the other often struggle with the transition. ## What Motorsport Teaches You The best thing motorsport teaches an engineer is first-principles thinking under time pressure. When you have 48 hours to design, manufacture, and validate a new component, you cannot afford to over-engineer or under-analyse. You learn to identify the critical load case, size the part for that case with appropriate (but not excessive) safety factors, and move on. You also learn to think about the complete system. A motorsport engineer rarely has the luxury of working on one component in isolation. You design the upright knowing how it affects the suspension geometry, the brake cooling, the wheel assembly sequence, and the aerodynamic surfaces around it. This systems thinking is invaluable. Motorsport also teaches you the discipline of weight management. Every gram matters. You learn to interrogate every feature on a part: does this fillet need to be this large? Can this wall be thinner? Is this boss necessary or can the assembly be redesigned to eliminate it? This discipline, applied judiciously, improves production designs as well, lighter parts mean less material cost, lower energy consumption in manufacturing, and better vehicle dynamics. ## What Motorsport Does Not Teach You Motorsport does not teach you to design for high-volume manufacturing processes. A machined billet aluminium upright is an excellent motorsport solution and a catastrophically expensive production solution. Production engineering requires fluency in casting, forging, stamping, injection moulding, and other high-volume processes, each with their own design rules, tolerance capabilities, and cost structures. Motorsport does not teach you to design for assembly by someone other than the person who designed the part. In a racing team, the mechanic assembling the car often has direct access to the engineer. In a production plant, the assembly operator is working to a standardised process with defined tool access, torque sequences, and cycle times. Design for assembly (DFA) is a discipline unto itself, and it is largely absent from motorsport. Motorsport does not teach you about tolerance analysis at scale. When you make one part, you can measure it and match it to its mating components. When you make a million parts, you need to guarantee that any randomly selected set of components will assemble correctly. This requires rigorous tolerance stack analysis, GD&T, and process capability studies, skills that are not exercised in a single-build environment. And motorsport does not teach you about durability in the production sense. A racing component needs to survive one race weekend, or at most one season. A production component needs to survive 15 years and 200,000 miles of customer abuse, salt spray, temperature cycling, and stone impacts. The fatigue analysis, corrosion engineering, and material selection considerations are entirely different. ## Bridging the Gap Engineers who successfully make the transition from motorsport to production typically develop a few key practices: **They learn to respect the manufacturing process.** Rather than designing the ideal part and then asking manufacturing how to make it, they start with the manufacturing process and design within its constraints. What draft angles does the die-cast tool require? What wall thickness can the injection moulding machine fill reliably? What undercuts can the forging die accommodate? These constraints are not limitations, they are design inputs. **They learn to design for the worst customer, not the best.** In motorsport, the driver is a professional who treats the car with respect (usually). In production, the customer is an unknown variable. They will drive the car without warming it up in winter. They will hit kerbs. They will never check the tyre pressures. The design must survive all of this. **They learn to quantify risk.** Motorsport engineers are comfortable with risk because the consequences are manageable. Production engineers need to quantify risk formally: what is the probability of this failure mode, what is the severity, and is the product of the two acceptable? This is the essence of DFMEA (Design Failure Mode and Effects Analysis), and it is a non-negotiable part of production engineering. **They learn to document.** In motorsport, much of the engineering knowledge lives in people's heads. In production, it must live in documents, databases, and traceable records. When an engineer leaves a motorsport team, they take their knowledge with them. When an engineer leaves a production programme, the design documentation must be sufficient for someone else to continue the work. ## Why This Matters for Godfrey Engineering This transition, from tacit, individual engineering knowledge to explicit, documented, traceable engineering knowledge, is precisely the problem that Godfrey Engineering's tools are designed to address. Whether you are a motorsport engineer who wants to capture your calculation methodology, or a production team that needs to ensure regulatory traceability, the underlying need is the same: engineering calculations that are structured, auditable, and composable. The experience of working across both worlds, the speed and first-principles thinking of motorsport, the rigour and scale of production engineering, directly informs how we build our tools. We want ChainSolve to be fast enough for a motorsport engineer working under time pressure, and rigorous enough for a production engineer who needs to satisfy an auditor. ================================================================ # Tolerance Stack Analysis From First Principles URL: https://www.godfreyengineering.com/blog/tolerance-stacks-first-principles - Title: Tolerance Stack Analysis From First Principles - Description: A practical guide to tolerance stack-up analysis for mechanical assemblies, worst case, RSS, and Monte Carlo methods explained with real examples. - Author: ben-godfrey - Published: 2026-02-20 - Tags: engineering, automotive, methodology ## Body ## Why Tolerance Analysis Matters Every dimension on an engineering drawing has a tolerance. A shaft diameter of 25.00 mm with a tolerance of plus or minus 0.05 mm can be manufactured anywhere between 24.95 mm and 25.05 mm and be considered acceptable. This is a fundamental reality of manufacturing: no part is made exactly to its nominal dimension. The challenge arises when you assemble multiple parts. Each part contributes its own tolerance to the assembly. The question that tolerance stack analysis answers is: given the tolerances on each individual component, what is the resulting variation in the critical assembly dimension? Get this wrong and you end up with parts that do not fit, interference where clearance was expected, or excessive gaps that compromise function. In automotive applications, tolerance stack failures result in recalls, warranty claims, and in safety-critical assemblies, regulatory consequences. ## A Practical Example Consider a simple assembly: a shaft passes through two bushings, which are pressed into a housing. The critical dimension is the clearance between the end of the shaft and the internal face of the housing. The relevant dimensions are: | Component | Nominal (mm) | Tolerance (mm) | | ----------------------- | ------------ | -------------- | | Housing internal length | 100.00 | +/- 0.10 | | Bushing A thickness | 5.00 | +/- 0.05 | | Bushing B thickness | 5.00 | +/- 0.05 | | Shaft length | 88.00 | +/- 0.08 | Nominal clearance = 100.00 - 5.00 - 5.00 - 88.00 = 2.00 mm The question is: what is the minimum and maximum clearance when tolerances are considered? ## Method 1: Worst Case Analysis Worst case analysis assumes that every dimension is simultaneously at its worst-case extreme. This is the most conservative approach. **Maximum clearance** occurs when the housing is at its largest and the shaft and bushings are at their smallest: ``` Max clearance = (100.00 + 0.10) - (5.00 - 0.05) - (5.00 - 0.05) - (88.00 - 0.08) = 100.10 - 4.95 - 4.95 - 87.92 = 2.28 mm ``` **Minimum clearance** occurs when the housing is at its smallest and the shaft and bushings are at their largest: ``` Min clearance = (100.00 - 0.10) - (5.00 + 0.05) - (5.00 + 0.05) - (88.00 + 0.08) = 99.90 - 5.05 - 5.05 - 88.08 = 1.72 mm ``` The worst case range is 1.72 mm to 2.28 mm. The assembly always has positive clearance, so it always fits. Worst case analysis is simple and guarantees 100% assembly success. Its weakness is that it is extremely conservative. The probability of every dimension being simultaneously at its extreme is vanishingly small. For assemblies with many contributors, worst case analysis often predicts problems that never occur in practice, leading to unnecessarily tight (and expensive) tolerances. ## Method 2: Root Sum Square (RSS) RSS analysis applies a statistical approach. Instead of assuming all dimensions are simultaneously at their extremes, it treats each tolerance as an independent random variable and computes the statistical combination. The RSS tolerance for the assembly is: ``` T_rss = sqrt(T1^2 + T2^2 + T3^2 + T4^2) = sqrt(0.10^2 + 0.05^2 + 0.05^2 + 0.08^2) = sqrt(0.0100 + 0.0025 + 0.0025 + 0.0064) = sqrt(0.0214) = 0.146 mm ``` The RSS range is 2.00 +/- 0.146 mm, or 1.854 mm to 2.146 mm. This is a tighter range than worst case (which predicted 1.72 to 2.28 mm). RSS analysis assumes that dimensions follow a normal distribution and that the tolerance band represents a specific number of standard deviations (typically 3-sigma, meaning 99.73% of parts fall within tolerance). RSS is appropriate when: - You have a reasonable number of tolerance contributors (more than 4-5) - Dimensions are genuinely independent (no systematic manufacturing biases) - You can accept a small statistical probability of assembly failure RSS is not appropriate for safety-critical dimensions where 100% conformance is required. ## Method 3: Monte Carlo Simulation Monte Carlo analysis generates thousands of virtual assemblies, each with randomly sampled dimensions, and measures the resulting assembly dimension for each. The algorithm is straightforward: 1. For each tolerance contributor, define a probability distribution (normal, uniform, skewed, etc.) 2. Randomly sample a value from each distribution 3. Compute the assembly dimension from the sampled values 4. Repeat 10,000 to 100,000 times 5. Analyse the resulting distribution of assembly dimensions Monte Carlo analysis is the most flexible method. It handles non-normal distributions, correlated dimensions, non-linear stack-ups, and mixed tolerance types. It produces a full probability distribution of the assembly dimension, not just a range. Its disadvantage is that it requires more setup and computation. For the simple linear stack-up above, RSS gives the same answer with less effort. Monte Carlo becomes valuable when the stack-up is non-linear, when distributions are non-normal, or when you need to understand the full shape of the output distribution. ## Choosing the Right Method | Criterion | Worst Case | RSS | Monte Carlo | | ------------------------ | ---------- | ------------- | ------------ | | Complexity | Low | Low | Medium | | Conservatism | Very high | Moderate | Configurable | | Distribution assumptions | None | Normal | Any | | Safety-critical use | Yes | With caution | Yes | | Non-linear stacks | Limited | No | Yes | | Number of contributors | Any | > 4 preferred | Any | For most mechanical engineering applications, we recommend starting with worst case analysis. If the worst case result shows the design works, no further analysis is needed. If worst case shows a problem, move to RSS to determine whether the problem is statistically significant. If RSS is insufficient or the stack-up is complex, use Monte Carlo. ## The ChainSolve Connection Tolerance analysis is a perfect example of a calculation that benefits from the composable, traceable approach that ChainSolve provides. Each component dimension is an input block with its nominal value, tolerance, and distribution type. The stack-up calculation is a chain that computes the assembly dimension. Changing a tolerance on any component instantly shows the effect on the assembly. This is exactly the kind of engineering workflow we are building ChainSolve to support, structured, traceable, and composable. ================================================================ # What Is ChainSolve? A New Approach to Engineering Calculations URL: https://www.godfreyengineering.com/blog/what-is-chainsolve - Title: What Is ChainSolve? A New Approach to Engineering Calculations - Description: An introduction to ChainSolve, how it works, why it exists, and how it differs from spreadsheets, Mathcad, and traditional calculation tools. - Author: ben-godfrey - Published: 2026-03-08 - Tags: chainsolve, product, software ## Body ## The Calculation Problem Consider a typical automotive suspension design task. You need to determine the spring rate for a front corner. This requires: 1. A target natural frequency (derived from vehicle dynamics requirements) 2. The corner mass (derived from the vehicle weight distribution) 3. The motion ratio (derived from the suspension geometry) 4. The spring installation angle 5. The wheel rate (computed from the target frequency and corner mass) 6. The coil spring rate (computed from the wheel rate, motion ratio, and installation angle) Each of these values has a source. Some come from requirements documents. Some come from CAD models. Some come from other calculations. Some are engineering judgement. All of them need to be recorded, justified, and traceable. In a spreadsheet, this calculation might occupy 30 rows. The dependencies are implicit, cell B14 references B8, which references B3, which references a value that someone typed in six months ago and nobody remembers the source of. Change the motion ratio and you need to manually verify that every downstream value has updated correctly, assuming you can find them all. ChainSolve takes a fundamentally different approach. ## Calculations as Graphs In ChainSolve, the spring rate calculation above is not a flat list of cells. It is a directed acyclic graph of calculation blocks: - **Inputs** are explicit, named, typed, and documented. Each input records its value, unit, source, and any assumptions. - **Blocks** are self-contained calculation steps. A block takes named inputs, applies a defined calculation (from a simple formula to a complex numerical method), and produces named outputs. - **Connections** link the outputs of one block to the inputs of another. These connections are explicit and visible, not hidden inside cell references. - **Chains** are composed graphs of blocks that represent a complete engineering calculation. When you change an input, ChainSolve identifies every downstream block that is affected and recalculates them in topological order. There is no ambiguity about what changed and what was affected. ## How It Differs From Existing Tools **Spreadsheets (Excel, Google Sheets):** Spreadsheets give you a grid of cells with formulas. Dependencies are implicit in cell references. There is no typing, no unit checking, no structured way to attach assumptions or sources to values. Collaboration means emailing files or hoping that the shared drive version is current. ChainSolve replaces implicit cell graphs with explicit, documented, composable calculation graphs. **Mathcad / SMath:** These tools are excellent for creating readable, documented calculations for a single analysis. But they are inherently document-oriented, a Mathcad worksheet is a page, not a composable component. You cannot take the beam deflection calculation from one worksheet and programmatically compose it with a load calculation from another. ChainSolve's block model makes composition a first-class operation. **Custom scripts (Python, MATLAB):** Engineers who write custom scripts gain composability and version control, but lose accessibility. Not every engineer on a team can read Python. Not every calculation justifies writing and maintaining a script. ChainSolve provides the composability of code with the accessibility of a visual tool. **PLM-integrated tools:** Product lifecycle management systems offer traceability but at enormous overhead. They are designed for large organisations with dedicated administrators. ChainSolve provides calculation-level traceability without requiring enterprise infrastructure. ## The Core Workflow A typical ChainSolve workflow: 1. **Create a chain** for your calculation (e.g., "Front Suspension Spring Rate") 2. **Define input blocks** for your known values: corner mass, target frequency, motion ratio 3. **Add calculation blocks** that transform inputs into outputs: wheel rate from frequency and mass, spring rate from wheel rate and motion ratio 4. **Connect blocks** to create the dependency graph 5. **Run the chain** to compute all outputs 6. **Export** the calculation as a documented report with full traceability Every change is recorded. Every assumption is attached to the value it applies to. Every calculation can be versioned, shared, and reused as a component in a larger calculation. ## Built for Performance ChainSolve's calculation engine is written in Rust and compiled to WebAssembly. This means: - Calculations run at near-native speed in the browser, no server round-trips for computation - The entire application works offline once loaded - Complex chains with hundreds of blocks evaluate in milliseconds - The same engine can run server-side for batch processing and CI/CD integration ## What Comes Next ChainSolve is currently in development. We are building toward an initial release that covers the core workflow described above, with a focus on mechanical engineering calculations in the automotive and motorsport domain. If you would like early access or want to follow development, visit [chainsolve.co.uk](https://chainsolve.co.uk) or subscribe to this blog's [RSS feed](/rss.xml). ================================================================ # Why We Chose Rust and WebAssembly for Engineering Calculation Tools URL: https://www.godfreyengineering.com/blog/why-rust-wasm-for-engineering-tools - Title: Why We Chose Rust and WebAssembly for Engineering Calculation Tools - Description: A technical look at why ChainSolve's computation engine is written in Rust and compiled to WebAssembly, and what this means for performance, reliability, and portability. - Author: ben-godfrey - Published: 2026-01-15 - Tags: rust, wasm, software, chainsolve ## Body ## The Requirements When we set out to build ChainSolve's calculation engine, we had a clear set of requirements: 1. **Near-native computation speed.** Engineering calculations can involve large matrices, iterative solvers, and complex dependency graphs with hundreds of nodes. The engine must evaluate these in milliseconds, not seconds. 2. **Browser execution.** The tool must work entirely in the browser with no server round-trips for computation. Engineers working on sensitive projects cannot send proprietary calculation data to external servers. 3. **Offline capability.** Engineers in test facilities, on factory floors, and at customer sites often have limited or no internet connectivity. The tool must work offline once loaded. 4. **Memory safety.** A calculation tool that crashes or produces silently wrong results due to memory corruption is worse than useless. Correctness is non-negotiable. 5. **Portability.** The same engine must run in browsers, in Node.js for CI/CD integration, and potentially as a native CLI tool. These requirements narrowed the field considerably. ## Why Not JavaScript? JavaScript is the obvious choice for browser-based applications. It is the native language of the web, has excellent tooling, and a massive ecosystem. For UI code, we use JavaScript (specifically TypeScript with React). But for the computation engine, JavaScript has fundamental limitations. JavaScript is a dynamically typed, garbage-collected language. For UI rendering and event handling, this is fine. For numerical computation, it introduces two problems: **Performance ceiling.** Modern JavaScript engines like V8 are remarkably fast for a dynamic language, but they cannot match the performance of ahead-of-time compiled code for numerically intensive work. JIT compilation adds unpredictable pauses. Garbage collection adds latency spikes. These are acceptable in a UI layer but problematic in a computation engine that needs consistent, fast evaluation. **Numerical precision.** JavaScript has a single number type: IEEE 754 double-precision floating point. This is adequate for most engineering calculations, but JavaScript provides no way to control floating-point behaviour, no SIMD intrinsics for vectorised computation, and no integer types for cases where exact integer arithmetic is required (such as graph algorithms on the dependency graph). A JavaScript calculation engine would work. It would be adequate for small to medium calculations. But it would hit a performance ceiling with complex chains, and it would require careful workarounds for numerical edge cases. ## Why Rust? Rust satisfies every one of our computation requirements: **Performance.** Rust compiles to machine code (or WebAssembly) with no garbage collector and no runtime overhead. Numerical code in Rust performs comparably to C and C++. For ChainSolve's calculation engine, this means chain evaluation is consistently fast, with no GC pauses or JIT warmup. **Memory safety without garbage collection.** Rust's ownership system guarantees memory safety at compile time. There are no null pointer dereferences, no use-after-free bugs, no data races. For a calculation tool where correctness is paramount, this is a significant advantage over C and C++. **WebAssembly target.** Rust has first-class support for compiling to WebAssembly via `wasm-pack` and `wasm-bindgen`. The resulting WASM module runs in any modern browser at near-native speed. This gives us browser execution and offline capability without sacrificing performance. **Strong type system.** Rust's type system lets us encode engineering constraints in the type system itself. A `UnitValue` cannot be accidentally added to a `UnitValue`, the compiler rejects it. This catches entire categories of engineering errors at compile time. **Portability.** The same Rust code compiles to WASM for browser execution, to native binaries for CLI tools, and to shared libraries for integration with other tools. One codebase, multiple targets. ## The Architecture ChainSolve's architecture separates computation from presentation: ``` +------------------------------------------+ | Browser (TypeScript + React) | | - UI components | | - Chain editor | | - Visualisation | +------------------------------------------+ | wasm-bindgen interface | +------------------------------------------+ | WASM Module (Rust) | | - Dependency graph solver | | - Block evaluation engine | | - Unit conversion system | | - Expression parser | | - Numerical methods library | +------------------------------------------+ ``` The Rust/WASM module exposes a clean API to the TypeScript layer via `wasm-bindgen`. The TypeScript layer handles all UI concerns, rendering, user interaction, layout. The Rust layer handles all computation, graph traversal, block evaluation, unit conversion, expression parsing. This separation means the UI never blocks on computation. Chain evaluation happens in the WASM module, returns results to TypeScript, and the UI updates. For very large chains, we run the WASM module in a Web Worker to keep the UI thread completely responsive. ## Performance Results Some representative benchmarks from our development builds (measured on a mid-range laptop, M2 MacBook Air): | Operation | JavaScript (baseline) | Rust/WASM | | ------------------------------- | --------------------- | --------- | | Evaluate 100-block chain | 12 ms | 0.8 ms | | Evaluate 1,000-block chain | 340 ms | 8 ms | | Topological sort (1,000 nodes) | 5 ms | 0.3 ms | | Unit conversion (10,000 values) | 18 ms | 0.6 ms | | Expression parse + evaluate | 0.4 ms | 0.02 ms | The Rust/WASM implementation is consistently 15-40x faster than the equivalent JavaScript. For small chains, both are fast enough. For large chains (which production users will inevitably create), the difference is between instant feedback and perceptible delay. ## Challenges and Trade-offs Rust and WebAssembly are not without trade-offs: **Learning curve.** Rust is a more complex language than JavaScript or Python. The ownership system, while powerful, requires a mental model that takes time to develop. For a solo founder, this was an investment in long-term productivity at the cost of short-term velocity. **WASM binary size.** The compiled WASM module is currently approximately 800 KB gzipped. This is a meaningful addition to the initial page load. We mitigate this with lazy loading, the WASM module is loaded asynchronously after the UI shell renders. **Debugging.** Debugging Rust code compiled to WASM is improving but still less convenient than debugging JavaScript in browser DevTools. We rely heavily on Rust's test suite (run natively) and use WASM-specific logging for browser debugging. **Ecosystem.** The Rust ecosystem for numerical computation is growing but less mature than Python's NumPy/SciPy ecosystem. We have implemented some numerical methods from scratch where existing Rust crates were insufficient. Despite these trade-offs, the decision to use Rust and WebAssembly has been validated by the performance and reliability characteristics of the resulting engine. For a tool where engineers will rely on the results for safety-critical decisions, the compile-time guarantees that Rust provides are worth the additional development complexity. ## Conclusion Choosing Rust and WebAssembly for ChainSolve's calculation engine was a deliberate architectural decision driven by engineering requirements, not technology fashion. Near-native performance in the browser, memory safety without garbage collection, and a strong type system that catches unit errors at compile time, these are not nice-to-haves for an engineering calculation tool. They are requirements. If you are interested in the technical details of our Rust/WASM architecture, or if you are evaluating similar technology choices for your own engineering tools, we welcome the conversation. Reach out via our [contact page](/contact).