Skip to content
David Amin-Priddle

← Experience

Architecture for a new greenfield web platform at a long-established scientific software company.

The work

A greenfield web platform, built alongside a suite of long-established desktop applications and intended to carry the next generation of the company’s products. It puts the company’s chemistry simulation engine behind configurable operator workflows.

What I was responsible for

  • Owning the architecture and making the major technical decisions, including reversing earlier ones where they were already constraining the platform
  • Building the base architecture: React and TypeScript over a C# backend, with plant definitions and widget schemas as JSON documents in object storage and PostgreSQL for the relational side
  • Calculations as JSON request and response against the containerised simulation engine, with every request and response persisted for replay and audit
  • A custom SVG renderer for the plant diagram, handling thousands of process nodes and the streams between them, with a congestion model driving layout and spacing, built while prototyping the move of a desktop tool to the web
  • A view-aware agent session, aware of what is on the page and proposing a batch of changes for a person to review, refine and accept or decline, designed as multiple readers with a single writer and extensible to concurrent writers through deltas and branching history
  • Establishing how architectural decisions got made: researched, written up and circulated for agreement rather than announced
  • Setting engineering standards across the team: visual regression on Playwright and Storybook, localisation through Paraglide, accessibility through axe, and dark mode, all treated as core testable concerns from the start rather than retrofits
  • Navigating the simulation engine’s long-established Fortran and C++ codebase, and investigating statistical approaches to speeding up its calculations
  • Working directly with the company’s domain experts in place of a product owner
  • Translating between the exec team and the engineering team

Agent-assisted development

  • Setting standards for how the team got useful output from agents before code reached review
  • My own front end over Azure DevOps, adding self-review and agent review to pull requests and wired into a markdown knowledge store
  • A terminal UI running several concurrent Claude Code sessions as tabs against that same knowledge base