Skip to main content
Sarah Murphy

Senior Software Engineer

React · Product engineering · Complex systems

I turn complex systems into clear, useful software.

I’m Sarah, a senior software engineer working mainly in React and TypeScript. I like the messy middle: understanding how the product, system and business fit together, then turning that into software people can actually use.

Selected evidence

01
8 years across consulting, greenfield product development and complex enterprise systems.
02
Deep React and TypeScript experience, with broader delivery across mobile and backend systems.
03
Independent products taken from problem definition through delivery and live use.
04
AI-assisted products built around structured outputs, deterministic checks and independent validation.

How I work

The same pattern shows up across enterprise work, consulting and my own products.

  1. 01

    Understand

    Learn the product, domain and existing system before deciding what should change.

  2. 02

    Connect

    Bring technical behaviour, user needs and business intent together.

  3. 03

    Build

    Choose the smallest scope that solves the actual problem properly, then deliver it.

  4. 04

    Strengthen

    Leave clearer architecture, tests, documentation or reusable patterns behind.

Selected work

01 / Product engineering · Consulting · Applied AI

SiteSpruce

Turning diagnostic consultancy into an evidence-grounded product

SiteSpruce V2 report excerpt: the Refinement overall assessment for Salonix
V1 — full diagnostic consultancyTechnical performanceSEO foundationsMobile usabilityUser experience& designTrust & credibilityContent & localvisibilityone boundedopportunityV2message-gap diagnosis

SiteSpruce started as a website diagnostic consultancy. I turned one part of that methodology into a self-service product that compares what a business wants to communicate with what its website actually says and what a first-time visitor takes from it.

Role & challenge

Founder & Product Engineer — from methodology and product discovery through end-to-end engineering. Turn one useful part of the consultancy into a self-service product without pretending to automate the whole thing.

Evidence:

  • Methodology developed and refined through paid consultancy work.
  • Staged workflow from crawling and structured extraction through gap analysis, validation and report generation.
  • Structured outputs, deterministic checks, retries and safe failure handling.

02 / Mobile product engineering

Crumbs

recipes, gathered.

From scattered recipe saves to a shared household system

Crumbs recipe library showing a populated collection of recipesCrumbs recipe library showing options to add a recipeCrumbs shared shopping list grouped by supermarket aisle

I built a Flutter mobile app that brings recipes from links, screenshots, pasted text or manual entry into one searchable place, helps us choose meals for the week, and turns those plans into a real-time shared shopping list.

Role & challenge

Product & mobile engineering — Flutter client, Supabase backend, offline behaviour and real-time household state. Make it quick enough to go from scattered recipe ideas and everyday meals to a realistic weekly plan and shared shopping list.

Evidence:

  • Functioning MVP in regular household use.
  • Local SQLite cache and write queue alongside a real-time shared shopping list.
  • AI is limited to editable recipe extraction; structured data and manual entry still work without it.

03 / Live Python product

Board Between Us

A shared chess board for games that happen between places

Board Between Us showing a mid-game chess position and recent move history

your move → notify → their move ↺

I built a lightweight asynchronous chess board so remote games no longer had to continue through photographs of a physical board. It keeps both players on the same position, supports correction and undo, and sends the next player a Telegram notification when it is their turn.

A chess notepad, not a chess engine.

Evidence:

  • Private player links with hashed token storage instead of account/password flows.
  • Telegram turn notifications and live board updates for asynchronous play.
  • Python/NiceGUI with Neon Postgres, self-hosted on Proxmox through Cloudflare Tunnel.
  • Live and used repeatedly across family and friends.

Experience

The projects above show how I work end to end. My employed roles add the enterprise scale, greenfield delivery and consulting background behind them.

  1. Dell Technologies

    Senior Software Engineer · Oct 2022 – Aug 2026

    Complex enterprise systems

    Owned customer-facing work across four React/TypeScript micro-frontends, from design and delivery planning through implementation. Worked across privacy, consent, administration and data-platform systems, including cross-system production debugging and reusable frontend and testing foundations.

  2. Metcash

    Software Developer (Front-End) · Aug 2020 – Dec 2021

    Greenfield product foundations

    Built a headless Next.js storefront and reusable design system from a blank frontend codebase for hundreds of independent retailers. Established CI and automated testing while working through the commerce vendor's first headless integration without established documentation.

  3. ThoughtWorks

    Consultant Software Developer · Feb 2019 – Aug 2020

    Consulting and discovery

    Worked across banking, insurance and civic technology, turning unfamiliar domains into prototypes, production software and practical technical recommendations. Delivered mobile prototyping, legacy-system assessment, customer-journey work and team facilitation.

  4. Earlier experience

    2016 – 2019

    Technical and delivery foundations

    Before consulting, supported and developed business systems in a small training organisation and contributed to an enterprise change programme at IAG.

How I contribute

End-to-end ownership

I take work from discovery and estimation through delivery and support, not just implementation.

Evidence: SiteSpruce went from consultancy methodology and product framing through to a live self-service product; at Dell, I owned a cancellation experience spanning four micro-frontends from design and delivery planning through implementation.

Technical investigation

I’m comfortable tracing behaviour through unfamiliar or live systems to work out what is actually going wrong.

Evidence: At Dell, I identified and resolved a race condition in OneTrust's asynchronous consent flow and surfaced the wider cross-team impact; at ThoughtWorks, I assessed unfamiliar legacy systems and turned the findings into practical technical recommendations.

Reusable foundations

I look for opportunities to leave behind reusable patterns, better tests and code that is easier to extend.

Evidence: At Metcash, I helped build a reusable frontend design system and established CI and automated testing from scratch; at Dell, I built configurable UI patterns and introduced frontend unit-testing foundations across multiple codebases.

Structured AI-assisted delivery

I use AI where it helps, but keep the work inside normal engineering controls: clear scope, review, tests and independent checks.

Evidence: Crumbs followed specification → implementation plan → scoped build → independent review → correction; at Dell, I used AI coding tools within structured specification, implementation and review workflows.

Want to talk?

The easiest way to reach me is through LinkedIn.

Connect on LinkedIn(opens in new tab)