ADM Guard — Automated Decision Compliance Platform
Case StudyThe compliance flight recorder for automated decisions. Built for Australian B2B SaaS, fintech, and HR-tech to meet mandatory Privacy Act APP 1.7–1.9 obligations before the December 2026 enforcement deadline.
Architected as a developer-first compliance evidence layer at the code boundary. Integrates a zero-PII ingestion firewall (422 rejection before persistence), tamper-evident SHA-256 hash chains with Merkle verification, and Azure Australia East WORM (Write-Once-Read-Many) storage with single-call SDKs for Python, Node, and Go.
TypeScriptPython SDKAzure AU East (WORM)Next.jsSHA-256 MerkleREST APIRegTech
A zero-cost, streaming RAG AI agent integrated directly into production to represent professional experience, demonstrate architectural depth, and capture qualified inbound leads.
Engineered with Next.js 16 (App Router, Turbopack) using a zero-cost architecture on Google Gemini Flash with real-time SSE streaming via ReadableStream. Features strict prompt grounding over professional milestones, sliding-window rate limiting, and an in-chat lead capture pipeline connected directly to Resend.
Next.jsTypeScriptGoogle GeminiRAGTailwind CSSResendVercel
A conversion-oriented portfolio platform that presents experience clearly, captures qualified inbound interest, and highlights engineering depth through project case studies.
Built with Next.js App Router, TypeScript, and Tailwind CSS using reusable UI primitives and route-level SEO. The architecture includes a monitored contact pipeline, generated Open Graph assets, structured data, and a layered testing strategy to keep product quality high as the site evolves.
Next.jsTypeScriptTailwind CSSResendVercel
A resilient lead-intake pipeline that validates user input, delivers notifications reliably, and exposes end-to-end flow telemetry.
Implemented as a serverless workflow with strict schema validation, anti-spam controls, and staged failure handling. Notification delivery is handled via Resend with defensive API behavior to protect against message loss.
Next.jsTypeScriptZodResendVercel