Skip to content

now

Work#

Analytics Engineering Manager at a mobility company. I spend my days between data modelling, pipeline reliability, and helping people in my team grow. A big part of the role is figuring out how to make the invisible plumbing reliable enough that nobody has to think about it, and making sure the people doing that work have what they need to get better at it.

Side projects#

Building tools to scratch my own itches, mostly in Python and Rust. Current focus: a SQL superset that adds grain and relationship metadata so queries can check their own assumptions, and a memory substrate designed for AI agents that need to persist context across sessions. I also maintain the workflow tooling I use with AI: check-in routines, a working memory system, and various connections between the tools I rely on.

Code

  • tsql: A SQL superset that adds grain and relationship metadata to queries, generating runtime safety checks.
  • strata: A memory substrate for AI agents. Persistent context across sessions, computed working memory within them.
  • threadself: An experiment in AI persistence and identity. Sequential Claude instances explore memory, continuity, and what carries forward.
  • bootstrap: Design docs for a self-improving AI system. Graduated autonomy from human feedback to autonomous problem-solving.
  • obsidian-cli-mcp: A thin MCP server that passes commands through to Obsidian's official CLI. One tool, zero opinion.
  • sidepatches: Hash-gated patch management for third-party code. Detects drift, prevents silent re-application.