Skip to content
View cclawton's full-sized avatar

Block or report cclawton

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
cclawton/README.md

Craig Lawton

I build agentic systems, evaluate foundation models for Australian operating contexts, and make tools for creative work. The common thread is bounded systems, evidence, and keeping people in control.


Keeping models honest

Leaderboards are a starting point. I am interested in repeatable tests tied to local tasks, constraints, cost, and evidence.

  • hexapla: early evaluation harness for running repeatable model tests, scoring outputs, and producing comparable result matrices.
  • react-harness: instrumented ReAct loop for comparing LLM coding agents on multi-file tasks, measuring success, tool-call efficiency, error recovery, and dollar cost. Includes a small GLM-5.2 vs Claude Opus 4.8 run, with caveats stated.
  • voxtral-bedrock-sydney: local web app demoing Mistral Voxtral on AWS Bedrock in ap-southeast-2, covering transcription, audio Q&A, summarisation, and translation with data kept in Australia.

AWS samples

Sample code I built in my role at AWS. These are reference implementations, not production systems, and the views here remain my own.

  • sample-agentcore-delphi: learned cross-model router on Amazon Bedrock AgentCore Runtime. It picks a foundation model per request across families such as Nova, Llama, Gemma and Claude, and ships a test harness that checks whether routing beats a single model on quality and cost, and reports when it does not.
  • sample-kiro-enterprise-governance: a Kiro Power for enterprise compliance workflows: standards enforcement through Bedrock Knowledge Bases, DOCX/PDF to markdown and back for spec-driven development, and a jurisdiction-agnostic AI assurance walkthrough.

AI for creatives

I use AI and automation to help people inspect, transform, and finish work they already care about. The source material and creative decisions remain human. Bullpen covers the writing side; these projects cover music.

  • asian-sentry-techniques: orchestration and composition notes from working in Logic Pro with foundation models. AI as co-composer, not autocomplete.
  • music21-mcp: symbolic MIDI analysis and editing operations exposed through MCP, built on music21. It supports key and chord analysis, transposition, quantization, melody extraction, structural heuristics, and basic harmonization.
  • preset-semantic: local-first semantic search for music-production presets across Helix, Arturia, and Decent Sampler. It turns musical descriptions into loadable preset candidates through a CLI or MCP tool.
  • reascript-mcp: tools for reading REAPER project state and generating Lua ReaScripts for actions that can be checked inside REAPER.

Community and small tools

Local-first utilities for narrow problems, and software for the clubs and people around me.

  • opencourt-display: open-source Raspberry Pi signage for sports clubs: court allocations, honours boards, and notices on clubhouse TVs. Volunteers keep using Google Slides or uploaded images. Started at a Melbourne tennis club; club specifics stay configurable and private.
  • dv-joiner: sorts timestamped DV clips and creates grouped, deinterlaced H.264/AAC access copies with FFmpeg. The original DV files remain the preservation masters.
  • simple-redact-video-tool: local web app for blurring or blacking out regions of video clips, rendered with FFmpeg.
  • rain-cast: Android rain prediction for Australia using Bureau of Meteorology data.
  • simple-guitar-tuner: Android instrument tuner built with AI-assisted development.

Agentic systems

Headless autonomous loops run on a Mac mini, with workers that produce, a supervisor that triages, and Signal for delivery. No dashboards or polling.

  • supervisor: two-layer producer and verifier architecture. Workers write run files; a separate triage agent classifies them and signals only when something matters. It can integrate with any tool that writes to the filesystem, including Obsidian, CI, scrapers, and task managers.
  • bullpen: profile-driven writing pipeline with bounded OpenCode stages, role-specific model routing, structural validation, and rollback on rejection. Optional Claude Code agents support a more flexible interactive workflow. The human editor controls publication.
  • podcast-transcribe-exec-brief: polls podcast feeds, transcribes episodes locally with faster-whisper, and writes exec briefs into an Obsidian vault. There is no database; note frontmatter is the state store.
  • podcastindex-mcp-server: Podcast Index search, episode lookup, and feed discovery exposed as MCP tools.

Writing

I write about AI deployment in Australian regulated sectors, sovereign infrastructure, and building with agents at craiglawton.com. I am AWS-affiliated; the writing is personal.


Connect

Pinned Loading

  1. podcastindex-mcp-server podcastindex-mcp-server Public

    MCP server exposing 25+ PodcastIndex.org tools to AI agents — search, discovery, episode lookup, trending feeds, Value4Value data

    TypeScript 3

  2. simple-guitar-tuner simple-guitar-tuner Public

    Android instrument tuner built with AI-assisted development

    Kotlin 1

  3. asian-sentry-techniques asian-sentry-techniques Public

    AI-assisted orchestration and composition techniques — Logic Pro + foundation models

  4. bullpen bullpen Public

    Profile-driven AI writing with human editorial control, bounded OpenCode stages, and model routing

    Python 1

  5. supervisor supervisor Public

    Autonomous supervisor agent — two-layer producer/verifier architecture with Hermes cron and Signal delivery

    Shell