Hi! I'm Simon, a software engineer and consultant in Perth, Western Australia. I've spent 20+ years building products and helping teams improve how they work — now at GovConnex, after Mechanical Rock and SEQTA Software.
What I can do:
- AI features — a research assistant that orchestrates agents and tools, plus overnight briefings and the embeddings pipeline behind semantic search.
- Web applications — React and TypeScript, Node APIs, Elasticsearch, serverless AWS.
- Migrations — a production webapp from JavaScript to TypeScript, about 30,000 lines, without pausing feature work.
- Team tooling — CI/CD, load testing, code review, and agent-assisted workflows.
Reference pages
- Rust quick reference
A progressive tour of Rust — ownership, borrowing, traits, and cargo — styled like a TUI.
- Sports 2026
What's left of the season in the six sports I follow, from the Vuelta to the Bledisloe to the Boxing Day Test.
Latest posts
- 2025-05-22Evals are useful
As software engineers increasingly integrate LLMs into products, prompt evaluations—using tools like promptfoo—are essential for systematically testing and ensuring prompt reliability, much like traditional software tests.
- 2025-03-01The world's simplest Static Site Generator in Go
A look at how this blog is generated using a custom-built static site generator written in Go.
- 2024-06-21How to re-organise commits for code review
How I clean up commits by squashing and creating new logical commits before opening for code review.
- 2024-02-22React anti-patterns that lead to unnecessary complexity
Where we look at common React anti-patterns such as unnecessary use of useEffect, unnecessary state, premature memoisation, and large inline functions.
- 2023-07-21Scaling out test jobs in GitHub Actions
Distributing your test suite over concurrent jobs in GitHub Actions isn't as straightforward as it first seems.