Project Portfolio · AI Agent Systems

I build AI systems that
businesses run on.

Systems I designed, built and now maintain for real clients, running in production every day. Here is the flagship build: the problem, what changed, how it works, and what I learned. After it, the process I follow on every build, and what is next in the pipeline.

Marina Ritchie is an AI systems builder in Adelaide, South Australia. She takes projects from first idea through to systems people rely on, working directly with the owners who use them, primarily with Claude Code and modern automation and web platforms.

I do not just use AI. I design the systems, connect the tools, fix what breaks, and keep the whole thing running alongside the people who depend on it.

01

Adelaide Hills Pantry
Events platform & multi-agent publishing system

Flagship 2025 – Current Built with Claude Code Client · digital media & events
See it live · adelaidehillspantry.com.au
244+
Events live on the website
40
Pull requests merged in one week
~16.8k
Lines added
48 hr
Website uplifted across every page

What it is

An events platform and multi-agent publishing system for a digital media business.

Adelaide Hills Pantry is a digital media business for the Adelaide Hills, built around a newsletter, social channels and an events catalogue. I built the system that ties these together with Claude Code, from the events pipeline through to the storefront and the editorial guides. The agents do the work; the owner and their virtual assistant keep control through review and a publishing lock.

The problem

The starting point was an attempt to run the business on agentic workflows, but they were not working. The agents were messy and unreliable, they broke down constantly, and they created more chaos than help. There was no clear structure for people or agents to follow, so nothing held together as a system.

How it works

Orchestrated with Claude Code, connecting to each platform through its own tools and APIs. Every tool keeps the job it is already good at.

Claude CodeOrchestrates the agents and the passes between them.
GitHubCode, version history and the pull-request workflow.
ShopifyMetaobjects for the events data model, plus CDN image hosting.
NotionThe connecting hub for people and agents: database and CRM, plus the systems records and operations manuals.
SlackThe communication layer between people and agents, where the team is informed and prompted to approve.
BeehiivRuns the newsletter and subscribe form.
GoogleDrive keeps all files and records, and Gmail handles client communication. Both maintained by agents.

I build the process and the system first, get it reliable, then hand the repetitive parts to agents. The people keep the judgement.How I approach a build

What changed
Before

Multiple agents with a messy structure, running wild and breaking things. No clear system or workflow for people and agents to follow.

Now

Notion is the single connecting point for people and agents. Every workflow is fixed, documented and in one place, so both can refer to it.

Before

The scraping agent had no clear steps and tried to do everything in one run. It broke constantly, missed information and had no field criteria. Event images did not display and the information was inconsistent. It did not work.

Now

A four-stage scraping agent, with clear criteria for every field shown on the site. Reliable execution, and 244+ events now listed.

Before

The events listing sat in a Shopify HTML block capped at 250KB, so it could not hold more than about 100 events. Images lived in Google Drive and were slow to load.

Now

Rebuilt on Shopify metaobjects, with every image on the client's own CDN. Fast and reliable, and no longer dependent on anyone else's site.

Before

No newsletter page and nowhere for a new subscriber to land. An off-brand shop with an unclear pre-order state and no delivery information. Guides were raw newsletter dumps with duplicate headings, stripped links and unverified images.

Now

In 48 hours, a consistent theme across every page, plus new pages that did not exist before, turning the website into the hub and a key source of information.

The agents

Five agents. Each has one job, its own success criteria and its own place in the sequence, and each one waits for a person to approve the result before anything goes out.

4 subagents

Events scraping agent

Keeps the events catalogue accurate, current and worth reading. Four subagents, each with its own criteria, in place of one run that tried to do everything at once.

  1. Fetch the source and pull the raw event.
  2. Extract every field the site displays, to a defined standard.
  3. Enrich with images, venue and contact details.
  4. Curate, deduplicate and check relevance before publishing.
GuardrailEvery publish ends with a conformance report, read before the event goes live.

Sponsorship proposal agent

Writes proposals that match what the client actually asked for. It reads the meeting notes and the goals they stated, then makes the case for alignment instead of a generic pitch.

  1. Read the meeting notes and the client record.
  2. Set out the client's goals in their own terms.
  3. Draft the proposal on brand, ready for review.
GuardrailEvery claim in a proposal traces back to the notes or the record.

Client and CRM management agent

Runs the client relationships day to day. It keeps the records current, plans the activity due, reports on where each client stands, and handles content scheduling, production and approval.

  1. Keep the client record and stage current in Notion.
  2. Plan and schedule the activity each client is owed.
  3. Route the work for approval, then report on what went out.

Newsletter planning agent

Plans the newsletter around what is on. The season, the activities underway, the sponsorship and product promotions due, and the festivals and special events happening in the region.

  1. Read the season and the regional calendar.
  2. Pull the sponsorship and product promotions due.
  3. Hand a structured plan to production.
GuardrailEvery placement in the plan traces to a real event or a live commitment.

Sponsorship placement agent

Finds the right slot for each sponsor, based on what the contract commits to and how the theme fits. It keeps competing sponsors apart and holds the agreed cadence.

  1. Read the contract and what it commits to.
  2. Match the sponsor to a theme that fits.
  3. Check for conflicts, then hold the cadence across the schedule.
GuardrailCompeting sponsors stay in separate placements, and each contract is delivered in full.
What I learned
01

Clear processes are the key. Every task, whether a person or an agent runs it, needs a defined process.

02

Define the outcome first. A clear picture of what success looks like, and the criteria for it, is the most critical part of getting there.

03

Stay in control of the logic. Watching how the AI reasons and executes prevents most troubleshooting later.

04

Set boundaries and goals early. It saves hours of reworking.

05

It is easier to build it right from the start than to fix it later.

06

No agent is ever finished. Even a well-designed one needs polishing, review and sometimes a rebuild as the task evolves.

02

How I built it
The process behind the system

Method Applies to every build

The thinking

A build starts with the business, not with the tools.

I do not begin by writing agents. I begin by working out what the business needs to happen, what already works, and what is quietly failing. Only then does anything get built. The order matters more than the technology.

The six steps
01

Review what exists

I go through what has already been built and run it as it stands, on real inputs, before forming a view about any of it.

Done whenThe system is described as it actually runs, not as it was meant to run.
02

Analyse what works and what does not

Every part is sorted into what holds up under real use and what breaks, and the reason it breaks is written down rather than guessed at.

Done whenEvery failure has a cause written against it.
03

Break the work into steps

The job is split into discrete steps, each small enough that one agent or one person can complete it and be checked on it.

Done whenEach step is small enough to be checked on its own.
04

Define success criteria and guardrails

Every step gets its own definition of done and its own boundaries. What the step must produce, what it is not allowed to touch, and what happens when it cannot finish.

Done whenA step either meets its criteria or stops and reports.
05

Sequence the steps

The steps are put in order, so each one receives what it needs from the one before it and hands on something the next one can use.

Done whenEach step receives what the step before it produced.
06

Reconnect the tools and APIs

Only now do the platforms come back in. Every API and tool is reconnected against the sequence that already exists, so each one serves a defined step.

Done whenEvery API connects to a step that needs it.

Then the workflow

With the sequence settled, I set up the workflow itself. When each agent fires, what triggers it, what it hands over, and how it reports. Success and failure are both reported into Slack and Notion, so a run that fails is visible the same day.

Trigger Agent runs Checks criteria Reports pass or fail Human review

Then it runs

The system is then left to run for two weeks under observation. Two weeks is long enough for the edge cases to surface and for the difference between a one-off fault and a design fault to become obvious. What the reports show in that period decides what gets rebuilt.

Why two weeksAn agent that works once has proved nothing. A fortnight covers the days when the inputs are messy, which is where the design faults show up.

Define the outcome, then the steps, then the guardrails. The tools come last, and only where a step needs them.The order I work in

03

What is next
In the pipeline

In build

Automated social media management

Publishing and channel management handled end to end by agents, on the same review-and-approve pattern that already runs the events pipeline.

Gmail account handling

Agent-managed inbox. Incoming mail read, sorted and drafted against defined rules, with the owner approving anything that goes out.

Sponsor and partner outreach

A full outreach system for potential sponsors and partners, moving a lead through defined stages rather than a single blast.

The outreach system

Four stages, each with its own criteria, so a lead is only promoted when it has earned the next step.

  • Identify the leads worth approaching, against a defined fit profile.
  • Research each one, so the approach is based on the business rather than a template.
  • Create the outreach, written to what the research found and to the brand voice.
  • Promote the lead from cold to warm as it responds, with the stage recorded in the CRM.

One last thing

Thank you for reading this far. I had a lot of fun putting the page together, and it was a good excuse to go back over what the sprint actually produced.

I am enjoying the process, and I am excited to see what else I can build together with Claude Code and Fable, which made a real difference to both the speed and the quality of the output.

Marina Ritchie