Lyndon Purcell

Senior Software Engineer · Developer Tooling & DX

I'm based in Melbourne and mostly build developer tooling: static analysers, language servers and formatters.

Go · Python · TypeScript.

  • Most bad developer experience, bugs included, comes from bad abstraction: too much indirection, or the wrong concepts.

    Example: React.

  • The best fix removes the whole class of problems.

    Example: A static analyser beats a hundred review comments.

  • If the simple version works, the clever version is a liability.

    Example: This site is plain HTML on a CDN. It used to be a Go server, and that was the wrong call.

  • Small, sharp tools you control.

    Example: Neovim and the terminal.

  • Keep a deterministic layer you control under anything non-deterministic.

    Example: AI-written code goes through the same analysers as mine.

Pathify Jan 2025 – Present

Senior Software Engineer · Integrations · Remote

Built and own the developer tooling for Pathify's in-house config language, which had none before: Preheat (a static analyser), Splash (a language server), and Stir (a formatter). Adopted across the whole engineering team; teammates called it "a game changer."

Also led user provisioning, Pathify's most complex integration, and maintain the team's CI/CD pipelines and deployments.

OK200 Software & Apps Sep 2022 – Dec 2024

Software Engineer · Melbourne, Australia

Shipped backend and frontend across more than a dozen SaaS products: APIs, AWS infrastructure, and async task processing.

Australian Bureau of Statistics Jan 2022 – Jul 2023

Operations Analyst · Geelong, Australia

Data analysis, database maintenance, and automation scripting.

Stem · Coaching platform Go · SvelteKit · Flutter · Postgres

Sole developer · In beta testing

A multi-tenant Go API with Stripe Connect payments, a SvelteKit web app for coaches, and Flutter mobile apps.