Software engineer · Toronto, Canada
Hi, I'm Ash.
Helping businesses spear through the post-LLM transformation.
I write artisanal, hand-written, grass-fed, free-range code. Just kiddin'.
A decade of building software at Silicon Valley companies taught me that shipping is a craft. These days I help businesses spear through the post-LLM transformation: rethinking products, teams and workflows now that intelligence is an API call away.
I live in Toronto, Canada. This site is my introduction to the Internet, and the place where I write.

Things I'm building
AI Agents Live
Marketing and distribution for AI agents. List your agent, earn reviews and backlinks, and get structured for GEO so ChatGPT, Perplexity and friends can recommend it.
ShadowLink
A free Chrome extension that hides promoted posts, suggested content and promoted jobs on LinkedIn, so your Feed and Jobs pages show only what you chose. Private by design: no data collected, no network requests.
nivas
A Chrome extension for hunting rentals on Kijiji. Save listings, track each one from first look to lease, take notes, pin comments on photos and check the commute. Your data stays in your browser.
Writing
Human-curated, typed with help from machines, and written to be useful to both.
Why did I build a Chrome extension for rental hunting?
A rental hunt is a pipeline, and listing sites only give you a heart button. I built nivas, a Chrome extension for Kijiji, to fill that gap.
- chrome extension
- product
- rental hunting
- privacy
- sharing
Which guardrails does an AI agent need before it goes to production?
A checklist of input, tool, output and operations guardrails to clear before real customers talk to your agent, with a pointer to the deeper guide for each
- ai agent
- guardrails
- checklist
- production
What does a custom guardrail for an AI agent look like in code?
Write one input check, one tool check and one output check as plain functions, then see where a framework helps and where it only adds weight
- ai agent
- guardrails
- code
- tutorial
How do I test that my AI agent guardrails actually work?
Keep a small set of attack and edge-case prompts, run them on every change and watch real traffic, so a guardrail is proven and not just assumed
- ai agent
- guardrails
- testing
- evals
How do I give an AI agent tools it can call safely?
Design each tool with a narrow job, validate what the model sends, ask a human before risky actions and limit what the tool can reach
- ai agent
- tools
- guardrails
- engineering
How do I fix flaky Rails system tests when using Cuprite?
Most flaky browser tests come from timing, animations and shared state, and each one has a small fix that you can apply in Cuprite and Capybara today
- rails
- testing
- cuprite
- chrome
How do I set up guardrails for an AI coding agent?
Limit what Claude Code, Codex or Cursor can read, run and push with permission rules, a sandbox, your own hooks and a review gate, so a wrong guess costs minutes and not your repository
- ai agent
- guardrails
- claude code
- codex
- cursor
How do I structure marketing for an AI product?
Split it into three channels, the product itself, email and search, give each one an owner and a number, and judge every channel by purchases instead of clicks.
- marketing
- ai product
- geo
- seo
- strategy
How to build guardrails for AI Agents
Put checks before the model, around every tool and after every reply, so your agent stays useful when a customer, a bug or a prompt injection pushes it off course
- ai agent
- rails
- security
- engineering
- tutorial
How to build your own AI Agents
Build a pantry agent that reads receipt and meal photos from a shared folder and leaves a shopping list on your phone every Friday morning
- ai agent
- ruby
- engineering
- tutorial
How to test in Chrome using Cuprite
Cuprite drives a real Chrome over the DevTools Protocol, so your Rails system tests are faster, steadier and closer to what users see.
- testing
- rails
- chrome
- cdp
How to build an AI agent on ElevenLabs without writing a backend
A voice agent that answers questions, books meetings and lives on your website, built from the dashboard in an afternoon
- ai agent
- engineering
- product
How to leverage dynamic social image previews to delight your user and improve your GEO
Your users are sharing links, show them better content in image previews
- marketing
- engineering
- geo
- seo
How to market your AI Agent
You built your AI agent, congratulations! Now let's get it recommended when people ask AI what to use.
- marketing
- ai agent
- geo
- seo