
Work · five projects
I’ve grouped these by what the skill actually is, rather than by where I picked it up. It all happened at one company because that is where I was, but none of it is specific to landscaping and all of it transfers.
SEO / Organic search
01
The problem
The site started with no rankings and no authority. Every established landscaper in the city was already competing for the small handful of searches homeowners actually make, and there was no ad budget to buy a way past them.
What I did
Deep on-page research first, then the parts most people skip: I partnered with other local businesses so each site gave the other a genuinely relevant, contextual link at no cost to either of us. I built out citations, developed the Google Business Profile so it reinforced the site rather than sitting separately, and registered exact-match domains to target specific high-value services.
What happened
Blossom now sits at the top of the local results for “landscaper vancouver”, the term the whole trade competes for. Search Console shows 255K impressions and 3.38K clicks, with 185 external links across six properties.

Top of the local pack for “landscaper vancouver”, above every non-paid competitor

Search Console: 255K impressions and 3.38K clicks, climbing steadily

185 external links built through local partnerships Mostly

Four exact-match domains targeting specific services
Skills built here
Keyword research
On-page SEO
Local SEO
Link partnerships
Citations
Google Business Profile
Exact-match domains
Search Console
AI / Business automation
02
The problem
First replies to leads, invoicing, quote scheduling and follow-up were all manual. In a trade that still largely runs on paper and text messages, that is hours a week and, worse, leads that quietly go cold because nobody got back to them fast enough.
What I did
I built n8n workflows covering first response to leads, invoicing, quote scheduling and follow-up, and I am now migrating them onto Claude agents for the steps that need judgement rather than rules. The Google Business Profile posting routine needed a custom MCP server, plus an application through a Google Cloud project to get Business Profile API access approved, since Google does not hand that out automatically.
What happened
Leads get answered quickly, invoices and follow-ups stop slipping, and the Google listing posts on its own every few days without me touching it.

Lead tracking and follow-up: extraction, quote-sent and quote-accepted checking agents

Receipt and payroll logging, triggered from Telegram and filed into Sheets and Drive

The Google Business Profile routine, running on a custom MCP server every three days
Skills built here
n8n
Claude Agent SDK
Custom MCP servers
Google Cloud
API Development
Workflow design
Gmail API
HTTP Understanding
Design / Direct response
03
The problem
Search only reaches people already looking for you. It does not build a brand, and it never reaches the homeowner who has simply never thought about their garden. Print does both, but only if the print is actually good.
What I did
We ran flyers, door hangers and truck branding, then compared them honestly. Door hangers lost: a flyer takes roughly the same effort to deliver, gets far more impressions and survives much longer than a hanger on a door handle. So we went all in on flyers and put the same identity on the trucks. Designed mostly in Canva, with other tools for specific tweaks.
What happened
Print became the second-biggest source of leads, and it did something search could not: it put the brand in front of the right people before they were looking for one. The two flyers below are the first one I ever made and the current one.

My first flyer. Stock template, competing on price, no identity to speak of.

The current one. Real brand, before-and-after proof, QR code, tear-off number strips.

The same identity carried onto the trucks, which advertise on every job
Skills built here
Brand identity
Layout & typography
Canva
Print production
Direct response copy
Channel testing
Vehicle branding
People / Client relationships
04
The problem
A landscaping quote is subjective and a maintenance contract is a relationship. Clients cannot easily compare one crew against another, so nearly everything runs on trust, and trust on a weekly contract has to be maintained rather than won once.
What I did
I ran the whole sales cycle: first call, site visit, scoping, quoting, objections, follow-up. The harder skill turned out to be everything after that, mainly working out what a complaint actually is. “You missed us this week” is a practical problem with a practical fix. “We feel like your crew doesn’t really care about the property” is a completely different problem, and answering it as though it were a scheduling issue makes it worse. I manage employees too, which is the same skill pointed in another direction.
What happened
I learned how to speak with clients and understand how to solve their problems. Whether it be a logistical problem, or a more complex emotional problem. This made repeat contracts and referrals become a large engine of growth rather than only new advertising.
A client walking through the job and the working relationship, in their own words
Skills built here
Discovery
Consultative selling
Client relationships
Reading intent
Conflict resolution
Account management
Managing people
Retention
Personal project / AI infrastructure
05
The problem
I wanted to run real work in parallel while I am using my main computer, and more than that I wanted to actually understand the infrastructure underneath AI agents instead of only using the finished products.
What I did
I set up a Minisforum UM890 Pro as an always-on machine running a Claude Agent SDK loop, triggered over Telegram. I built three custom MCP servers on Cloudflare Workers for Gmail, Sheets and Google Business Profile, because the off-the-shelf connectors were mostly read-only and I needed write access to be useful. On top of that: durable memory injected each turn, a session store that survives restarts, skills, and a watchdog with a health endpoint so it relaunches itself when it dies. It leans hard on computer-use MCPs, which I think are badly underrated. Driving the software directly removes the need for an API at all, which widens what an agent can touch enormously.
What happened
I can send it a photo of the week’s schedule from my phone and it will check each job, price them, confirm the list with me, and issue the invoices. That’s just one example, but it can really do anything that could be done on a computer (unless its crazy complex) due to the computer use and skills tools. Getting here meant learning how HTTP, OAuth, MCP, APIs, skills and agent context actually work.

The system: Telegram transport, an always-on mini PC, three self-hosted MCP servers, and a harness that keeps it alive

Invoicing a week of jobs from a photo, with a confirmation step before anything sends

The UM890 next to my main machine. Small, quiet, always on.
Skills built here
Claude Agent SDK
MCP server development
Cloudflare Workers
Computer-use automation
OAuth
Telegram Bot API
System design
Self-hosting
How the AI work was actually built
What I want to learn next
I would love to know what good looks like inside a real team. I’ve only ever had my own judgement to check my work against, and I’d like to be somewhere I can borrow better judgement to work in with my own.