Isherwoods — Software Developer
- PresentMarine engineering company supplying maintenance-management and Integrated Logistic Support (ILS) software to shipping and naval customers including the Royal Navy; work centres on the next-generation product ahead of commercial launch.
Promoted from Junior Front-End Developer; now also reviewing colleagues' pull requests. Part-time Jan-Apr 2026 while running Nueral; full-time otherwise.
- React
- TypeScript
- Node.js
- Nx
- esbuild
- Docker
- GitHub Actions
- Lexical
- Vitest
- Claude Code
- Extracted a tightly coupled React component library into a standalone monorepo package, enforced module boundaries with custom ESLint rules, and accelerated builds approximately 10x with esbuild
- Redesigned the frontend around Fluent 2 by reworking the shared React component library, propagating consistent design patterns across nearly every screen
- Built a Word-style rich-text editor for technical documents using Lexical, with custom nodes for figures, captioned tables, and admonitions
- Built a React editor for the JSON schemas driving auto-generated product screens, supporting deeply nested structures and direct local file editing
- Reduced frontend test runtime by ~50% locally and ~40% on CI. Migrated CI from Azure DevOps to GitHub Actions, cutting full pipeline runtime from ~14 to ~6 minutes at no additional compute cost
- Built a Docker Compose development environment simulating four replication sites, with isolated backends and databases, enabling the full multi-site system to be developed and tested locally
- Led team adoption of Claude Code through repository guidance and developer training; built isolated worktree environments with dedicated ports and MongoDB copies to support parallel agent sessions
- Created the team's first synthetic development dataset using AI-assisted workflow analysis, covering the application's main processes without relying on customer data
More technical detail — Isherwoods, Software Developer
- Managed the shared component library's internal dependency graph and TypeScript build tooling, including its original Rollup build; custom ESLint rules prevent cross-feature imports
- Implemented direct local file read/write in the schema editor with the File System Access API, using Immer and nested React contexts to edit deeply nested JSON structures
- Migrated source control from on-prem Azure DevOps to GitHub, removed secrets from repository history, and enabled Nx caching and 'nx affected' runs in CI
- Configured per-site backends and MongoDB instances for identity isolation, frontend routing to each site's backend, and watcher services that rebuild backends and the shared library on change
- Authored root and per-package CLAUDE.md context files, reusable skills, and workflow guides; worktree tooling also includes database routing, automatic cleanup on deletion, and a database-management CLI
- Upgraded the main application and shared component library to React 19 across the monorepo, resolving breaking API and TypeScript type changes and third-party library compatibility
- Migrated a replication frontend from AngularJS to a new React application built on the shared component library
- Built the CD pipeline using GitHub Container Registry, a self-hosted runner, and Docker Swarm to publish, pull, and deploy application images; rollout to the team is in progress