Kijiji reposting workflow

I used to buy and sell high-end guitars throughout university, so I knew the Kijiji workflow pretty well.

One of the biggest pain points was reposting ads. Years ago, I had paid $5 for a plugin that helped repost ads for free, since Kijiji only offered a paid repost option. It worked for a long time, then eventually stopped working as Kijiji changed over time.

Later on, when I was still occasionally selling, reposting manually started taking too much time, so my ads stayed stale.

Last year, mostly as an experiment, I tried rebuilding that plugin with Claude to see if I could solve the problem again.

First draft: just asking Claude to build it

At first, I thought I could just prompt my way through it.

I explained what the plugin used to do, what the UX looked like, and what I wanted it to do. After a few tries, Claude gave me files that looked like a real extension.

But once I actually tested it in Kijiji, it didn't work.

Second draft: decoding the original plugin

So I tried a new approach.

I started looking through the old plugin files and troubleshooting specific errors to understand where things were breaking.

That's when I realized the real blocker wasn't just the code. Kijiji no longer allowed the direct repost flow I wanted, likely because it conflicted with their paid repost model.

So the issue became less about "how do I get Claude to build this" and more about what part of this workflow was still actually possible.

Reframing the UX

The original plugin flow was simple:

That was the flow I was trying to recreate.

But after digging in, I realized that exact version of the automation wasn't going to work. So I stepped away from Claude for a bit and mapped out the workflow properly.

I looked at:

The breakthrough was reframing the problem.

Instead of trying to make the extension repost an ad, I asked:

That shift changed everything.

Getting it working

Once the problem was framed better, Claude became much more useful.

After a lot of trial and error, some dead ends, and Claude losing context more than once, a fresh chat finally got me to a version of the plugin that actually worked.

What I learned

A few things became very clear from this:

For me, that was the real value of the experiment.

Not just that I got a plugin working, but that it reinforced something familiar: if you understand the user problem properly, there's usually a better path than the first solution you had in mind.