Isherwoods — Software Developer
- PresentMarine engineering company supplying maintenance-management and Integrated Logistic Support (ILS) software to commercial shipping, industrial, and naval customers including the Royal Navy; work centres on the next-generation product, now approaching commercial launch.
Progressed from the junior role below; now also reviewing other developers' 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, managing the internal dependency graph and writing custom ESLint rules to block cross-feature imports; owned the TypeScript and Rollup build tooling, later migrating to the esbuild engine for ~10x faster builds
- Migrated source control and CI from on-prem Azure DevOps to GitHub: scrubbed secrets from repository history and rebuilt the pipeline on GitHub Actions optimised for compute minutes; a full CI run went from ~14 to ~6 minutes on included minutes alone
- Designed a Docker Compose environment simulating 4 replication sites and evolved it into a full-stack development platform: per-site backends and MongoDB for identity isolation, a single multi-site dev server per frontend routing to the correct site backend, and watcher services that rebuild backends and the shared component library on change, so the whole replication setup can be tested and developed on one machine
- Redesigned the entire frontend around the Fluent 2 design system, replacing a utilitarian, logic-first interface with a production-ready one
- Led team adoption of agentic AI development (Claude Code): authored skills, root and per-package CLAUDE.md context files, and workflow guides; trained developers to work in parallel with git worktrees
- Built worktree-isolation tooling so multiple agent sessions run in parallel: per-worktree port offsets for frontend and backend servers, per-worktree MongoDB copies with routing, automatic cleanup on worktree deletion, and a database-management CLI
- Used AI agents to analyse every process in the application and write a complete synthetic database seed. The team had no non-customer-data dataset before; this one covers every workflow
- Optimised frontend test-suite performance (~50% faster locally, ~40% on CI) and enabled Nx caching and 'nx affected' runs on the CI pipeline
- Building the CD pipeline: CI publishes Docker images to GHCR, a self-hosted runner on local infrastructure pulls them, and Docker Swarm deploys them for zero-downtime rollouts
- Built a Word-style rich-text editor for technical documents using Lexical, with custom nodes for figures, captioned tables, and admonitions
- Created a schema-editor React app for the JSON schemas that drive auto-generated product screens, using the File System Access API for direct filesystem read/write and Immer with nested React contexts to edit arbitrarily deep JSON structures
- Upgraded the main application and shared component library to React 19 across the monorepo, working through breaking API and TypeScript type changes and third-party library compatibility
- Migrated a replication frontend from AngularJS to a greenfield React app built on the shared component library