Case studies

Five systems, in detail.

The problem as it arrived, the decisions I made, the architecture I chose and how each system behaves when something goes wrong.

01 / Multi-agent local news pipeline

The Daily Network

A production multi-agent local news pipeline for city editions, where every article must clear explicit evaluation gates before reaching readers.

Problem

Local news at scale needs factual accuracy, geographic relevance, useful images and search visibility without relying on an operator to inspect every article.

Approach

Specialised agents handle source retrieval, drafting, fact-checking, quality scoring, deduplication, image matching and SEO. Evaluation gates act as release conditions, every page carries AI disclosure, and content that fails a gate is not released.

Architecture

Supabase and Postgres hold content, evaluation results and operational memory. Deno edge functions run the agents and control loops on pg_cron schedules. A watchdog triggers self-healing unpublish when a gate fails after release.

Cost control

Later cut running cost by pausing 360 of 369 scheduled jobs while keeping every site online.

Outcome

A multi-agent local news pipeline with fact-checking and quality gates as release conditions, AI disclosure, and automatic unpublishing when a gate fails.

Deno edge functionsSupabasePostgrespg_cronRow-level securityMulti-agent orchestrationEvals

02 / Evolutionary AI idea engine

!syncAI

A venture discovery system built to replace weeks of manual research and subjective early judgment with recurring evidence and adversarial review.

Problem

Finding proven business models in other markets and deciding which are worth launching locally is slow, fragmented and vulnerable to confirmation bias.

Approach

The system tracks live market signals, generates candidate ventures, stress tests each one adversarially, and re-scores every idea as new evidence arrives.

Evidence and control

Each idea carries a financial model, legal screen and investor memo. A kill rule prunes ideas that continue to score poorly.

Outcome

A self correcting pipeline that replaces gut feel with a re-tested score, and exposes inflated early scores, including one idea that fell from 91 to 61 after re-scoring.

SupabasePostgresDeno edge functionspg_cronEvaluationReact

03 / Hyperlocal weather to things to do funnel

City Weather and Things to Do network

A network that turns high volume daily weather searches into useful local decisions and ongoing engagement with city guides.

Problem

Most weather sites show conditions but leave visitors without help deciding what to do next.

Approach

I built one shared template for more than 20 cities, combining live conditions, hourly and 7 day forecasts, UV, air quality, rain radar, a daily briefing, activity ratings and suburb level pages.

Local discovery

Each weather site connects to its city's live things to do guide. Events are ingested continuously, checked against their source and removed automatically when they pass.

Outcome

A repeatable city template that turns daily weather traffic into local engagement and feeds the Daily Network news editions.

ReactTanStackSupabaseOpen-MeteoCloudflareProgrammatic SEO

04 / Resilient model orchestration and cost control

Provider-failover LLM router

Generation workflows that a business depends on, running across several model vendors whose availability, pricing and quality all move independently.

Problem

A single-vendor dependency turns any provider incident into a full outage. Left alone, model spend and output quality both drift, and the drift is usually noticed late.

Approach

I built a router that treats model vendors as interchangeable capacity behind one interface. Each task declares the quality bar it needs and is routed to a model that clears it, falling through to other providers on error, timeout or rate limit so work keeps moving during any single-vendor outage.

Cost and quality control

A per-day spend guardrail caps consumption, and routing decisions are recorded so cost per task and quality per model stay visible. When a cheaper model stops clearing its bar, routing shifts rather than quality quietly degrading.

Architecture

A provider-agnostic calling layer with normalised errors, retries with backoff, per-task quality thresholds, spend accounting in Postgres and structured logging of every routing decision.

Outcome

More resilient AI operations, with quality and cost control built into routing rather than reviewed after the fact.

Multiple model providersTypeScriptPostgresFailover and retriesEvalsSpend guardrails

05 / Lead generation and nurturing with a built-in CRM

!syncConnect, AI prospecting and nurturing platform (part of AI OS)

A lead generation and nurturing platform with a built-in CRM, first deployed on a live 254-apartment, A$292M residential development.

Problem

Property developers need a dependable way to find qualified prospects and keep every conversation moving from first contact to signed contract and deposit.

Approach

Agents find and score buyer, investor and B2B leads, run personalised outreach, and nurture each lead by email, SMS, Instagram, Facebook and WhatsApp. A voice agent returns calls, while DocuSign and Square close the sale.

Human in the loop

Human approval gates consequential actions, keeping judgment with the team while automation handles prospecting, outreach and nurturing.

Architecture

A React and TanStack front end over Supabase and Postgres, with integrated messaging, voice, contracts, payments and a three.js GLB property experience, deployed on Cloudflare.

Outcome

In production: 12,150 contacts, 8,950+ emails, 501 calls transcribed and analysed, 29 second median first response and 35 sales. A white-label edition for other developers runs on a separate database with fictional demo data.

ReactTanStackSupabasePostgresCloudflareVoice agentsWhatsAppDocuSignSquarethree.js / GLB 3D

Start a conversation

Get in touch

Happy to walk through any of these systems in more depth, including the failure modes and the trade-offs behind them.