matt-taylor.tech
← Back to projects

Work · Affinity Group

claude-forge

Python (stdlib-first) Supabase Postgres Azure Functions Microsoft Graph Freshservice API AdminDroid API ScreenConnect API Claude API

claude-forge is the AI-augmented IT operations platform I'm architecting and building at Affinity Group. It unifies data pipelines, a Cowork tech skill, and webhook automations on a Supabase Postgres backbone, and exposes a curated set of named, audited functions to IT techs.

What it does

  • Pulls cached / derived data from Freshservice, AdminDroid, ScreenConnect, and Microsoft Graph into Supabase tables on a scheduled cadence.
  • Exposes a curated tech-facing skill (Cowork): search past tickets, requester history, asset state, live API lookups, reply drafts. Each function is named, audited, and bounded; techs never see raw SQL or arbitrary tool access.
  • Accepts webhook events from Freshservice and ScreenConnect, calls the Claude API for auto-triage, reply drafts, asset enrichment, and duplicate detection.

Architecture conventions

  • stdlib-first Python. Add a dependency only when stdlib genuinely won't do.
  • Idempotent and resumable jobs. Anything that can break midway can be safely re-run.
  • Rate-limit aware. Every external API client respects published limits and degrades gracefully.
  • RLS on Supabase tables. Per-source-system table prefixes, audit columns, Row-Level Security policies.
  • Secrets in Bitwarden, delivered via env vars. No secrets in code or config files.
  • Audited surface for techs. Curated named functions, never raw SQL or arbitrary tool execution.

Status

Stage 1 is in production: Freshservice analytics-export refresh plus per-ticket enrichment with conversations and custom fields, running on Windows Task Scheduler at 9:05 AM weekdays.

Stage 2 brings the Supabase migration and Azure Functions timer triggers, the Cowork tech-skill rollout, and the webhook-driven Claude automations for triage and reply drafts.