Portfolio

I'm Keiran Trace, a developer in Ipswich, Queensland. I trained as a fitter and turner, then taught myself to code (VBA first, then Python) to automate the jobs I was doing. Today I run Intelli AI, which sells AIREP and builds platforms and websites for local businesses, and I build Astrid, my own AI assistant, alongside it.

Intelli AI

Product · intelliai.au

AIREP

An all-in-one ERP for Australian small businesses, with AI built in

AIREP is the product my company sells: one system for small and mid-sized businesses covering procurement, sales, inventory, manufacturing, accounting, CRM, shipping and workforce, with an AI assistant built in. It has been in daily production use since early 2026, and it's live at intelliai.au with published pricing.

🔁
Quote to cash in one flow

Confirm a quote and invoice it: the stock ships and the revenue journal posts itself. One click turns everything under its reorder point into draft purchase orders, grouped by supplier.

💬
Astrid AI built in

Type the work as one sentence and Astrid drafts it, then still asks before it writes. The AI runs as its own service, with about twenty agents, including specialists for sales, purchasing, accounting, inventory and manufacturing.

🗄️
A database per company

Each customer company's business records (sales, purchasing, stock and accounts) live in its own PostgreSQL database.

🧭
From desktop to web

AIREP grew out of HUB, the Python desktop ERP I built at Automation Intelligence from 2021 for client businesses. The web version now spans 25 Django apps.

Python Django PostgreSQL (Neon) Channels / ASGI Redis Postmark Claude Render

Client work

gripswich.au
🧗 GRIPswich
Bouldering
Open site ↗

Gripswich OS

The custom platform that runs GRIPswich Bouldering, an indoor climbing gym in Ipswich, QLD. It replaced the gym's off-the-shelf system at an August 2026 cutover: public site with a live timetable and online sign-up, Apple and Google Wallet check-in, direct-debit and card memberships, a front-desk point of sale, class bookings, staff rostering and a member portal.

Visit site ↗
ascotvaledrivingschool.au
🚗 Ascot Vale
Driving School
Open site ↗

Ascot Vale Driving School

Booking-led website for a Melbourne mobile driving school run by a former VicRoads Licence Testing Officer: live instructor availability and online lesson booking, an owner dashboard for accepting, rescheduling and blocking out lessons, and automatic PDF tax invoices.

Visit site ↗
miketraceeng.au
🔧 Mike Trace
Engineering
Open site ↗

Mike Trace Engineering

Website for a family-owned Brisbane road-sweeper specialist operating since 2002: sweeper sales across the CityRay, Ceksan and Rasco ranges, hire, used and demo stock, spare parts and news, built for local search.

Visit site ↗

Personal AI

Built from scratch · in daily use

Astrid

My personal AI assistant: my day, my inbox and a coding agent

Astrid is the AI assistant I built for myself in Python, with FastAPI and PostgreSQL (pgvector for long-term memory). It runs in the cloud with a second tier on my home machine, and I reach it through Telegram, this site, a desktop chat bar and voice, all sharing one conversation. It uses Claude models (Haiku, Sonnet and Opus) with OpenAI as a fallback, plus local open models through Ollama.

⚙️
A coding agent that ships reviewed work

Queued work (production errors, ideas I've approved, tasks I file) each gets its own Claude Code session in an isolated git worktree. A change is pushed only after the repository's full test suite passes and a separate AI reviewer approves it.

💻
Programming mode

A Claude Code-style coding agent built into Astrid. Sessions run on my home machine and stream every step to this site, and each task can run on a free local model or on Claude Sonnet or Opus.

🔌
An MCP gateway for my tools

Astrid serves my coding agents over the Model Context Protocol: deploy status, logs, CI results and read-only queries across my projects, while Astrid holds every credential and runs each call itself. The gym platform's member data is never exposed to it.

🏠
Local models and voice at home

Part of Astrid runs on my own machine with Qwen models on an RTX 3070 Ti: a wake word with local speech-to-text, plus instant timer, lamp, air-con and desktop commands, so the quick voice and desktop work runs on my own hardware.

🗓️
The day-to-day

A 6am brief, reminders, notes, calendar and inbox triage, plus habit and fitness tracking, mostly over Telegram.

📱
An Android app (in development)

A native Kotlin companion app: home-screen widgets, quick-settings tiles, a hold-power assistant and share-to-Astrid, with notifications to come.

Python FastAPI asyncio PostgreSQL + pgvector Claude OpenAI Ollama Telegram Bot API WebSockets Kotlin

As of October 2026: 80+ skills, 24 agents and 2,100+ commits since February 2026.

Personal projects

GAIA

A passive world-evolution game. A terraforming AI and her council of sub-intelligences bring a dead planet back to life while climate, tectonics, ecology and evolving creatures play out on their own; some creatures awaken into peoples who trade, make treaties and go to war. The council thinks with a small local language model, and the world runs continuously on my home machine's spare capacity.

Python numpy WebGL2 Ollama
Paused

Echo Life

A pixel-art RPG prototype where AI-driven "ghost players" gather, craft, trade and fight, so a single-player world feels like a busy online game.

TypeScript Phaser 3 Vite