Principal engineer based in the UK. I lead teams building complex systems across the whole stack β from React frontends through Node.js services to AWS infrastructure β and I've spent most of my career in the TypeScript and AWS ecosystem.
I care a lot about developer experience, keeping things simple, and shipping software that actually works in production.
I've leaned hard into AI tooling as part of how I work day-to-day. Not as a gimmick, but as a genuine multiplier β using tools like Claude Code, Copilot, and my own projects to orchestrate AI across development workflows and ship more with less friction. It's changed how I think about productivity and I'm always looking for the next edge.
I've spent most of my time in TypeScript and Node.js across the full stack β React, Next.js, and Tailwind on the frontend, serverless and Aurora Postgres on the backend, and AWS with Terraform for infrastructure. Deno is my runtime of choice for side projects. Docker, GitHub Actions, and solid CI/CD tie it all together.
Tomo (ε)
A terminal-native AI chat client β local-first, built for developers who live in the terminal. Works with Ollama or any OpenAI-compatible endpoint. Built with TypeScript and React (Ink), distributed as a standalone binary via Homebrew.
brew tap leecheneler/tomo && brew install tomoA pair of Deno-native frameworks published on JSR:
- App β A minimal, no-magic web framework for Deno. Routing, security, compression, validation β all explicit, no surprises.
- Pages β A content-driven framework for building sites with Markdown and Preact components. Dev server, static builds, and production serving out of the box.
Idempotent machine setup. One curl command to provision a full dev environment β Zsh, Kitty, VSCode, Claude Code, Homebrew, the lot.
ts-engine (archived)
One of my earlier projects I'm still proud of. A zero-config CLI for building, testing, and linting TypeScript packages. The ecosystem evolved and made it redundant, but it solved a real problem at the time and got solid community usage.
When I'm not at a keyboard, you'll find me spending time with family (primarily serving as a unicorn for my daughter to ride), gaming, playing squash, or crashing on the sofa.







