Michael Owusu · AI Automation Developer · London, UK

I build practical AI systems that automate real business workflows.

I start with the workflow, not the model: what comes in, what needs to happen, where a human should approve, and what gets logged, monitored and handed over. The result is software that is still useful after the demo.

  • Live in production
  • Human approval built in
  • 300+ automated tests across projects
  • Self-hosted → cloud

featured work

Systems that survive contact with real work

Each one is built end to end: intake, AI, human approval, delivery, telemetry. Real screenshots, real systems, usable today.

01 · working software

AI Support Approval Desk

Support tickets answered by AI, approved by humans.

Problem
AI can draft most support replies, but one wrong promise or a tone-deaf reply to an angry customer is a real business risk. The goal isn’t autonomy, it’s safe speed.
What I built
A reviewer console where tickets arrive via webhooks or email (n8n), get classified and drafted against a citable policy pack, then wait. The reviewer sees the draft, its policy sources, model telemetry and a full audit trail, and approves with a passcode before anything reaches a customer.
Outcome
  • Every draft grounded in citable policy, with sources shown right next to the reply
  • 10/10 eval cases passing across classification, sentiment, priority and safety
  • Drafts arrive in ~3 seconds, with model, token and cost telemetry on every run
  • Next.js
  • TypeScript
  • Prisma
  • Supabase
  • n8n
  • Claude / GLM
  • Resend
Reviewer dashboard of the AI Support Approval Desk: a ticket queue, an AI-drafted reply under review, and an evidence panel showing policy sources and model telemetry.

02 · working software

Document-To-Action Pipeline

Meeting notes in, evidence-backed tasks out.

Problem
Decisions live in transcripts, notes and email threads. Turning them into assigned, deadlined work is slow. Worse, owners get guessed and nobody can verify why a task exists.
What I built
A pipeline that reads documents and extracts decisions and action items under one hard rule: no quote, no export. Anything missing an owner or deadline is held for review, and only human-approved tasks are exported to Notion or Slack.
Outcome
  • ~44 minutes / ~$44 of estimated ops value per document run, for $0.0003 of AI cost (verified live run)
  • Every exported task traces to an exact source quote with a confidence score
  • Suspected duplicates and unowned tasks are held for a human, not exported
  • Next.js
  • TypeScript
  • Prisma
  • PostgreSQL
  • Clerk
  • DeepSeek
  • Notion & Slack APIs
Approval queue of the Document-To-Action Pipeline: extracted tasks with evidence links, owner and deadline flags, and approve, edit, block and reject controls.

03 · working software

Lead Response & Booking Center

First to respond wins the job.

Problem
Service businesses lose work by replying late, but nobody wants an AI texting their customers unsupervised.
What I built
An intake center that catches every inbound lead, scores it 0–100 with readable reasoning, drafts the reply and can offer a real timezone-aware booking slot. Nothing reaches a customer until a person clicks approve. The gate is enforced in the architecture, not just the UI.
Outcome
  • Every lead scored 0–100 and qualified hot / warm / cold / spam, with the reasoning on screen
  • A ready-to-send reply in minutes instead of hours
  • Six-stage CRM pipeline plus an audit log of every automated step
  • Next.js
  • TypeScript
  • Prisma
  • Supabase
  • OpenAI
  • shadcn/ui
Lead inbox of the Lead Response and Booking Center: a table of inbound leads with AI scores, hot and warm status labels, service type, source and next action.

04 · in production use

AI Product Photography Studio

Campaign photos that don’t look AI-generated.

Problem
Product photos are expensive to reshoot for every angle, season and SKU, and naive AI generation produces warped labels and a different look every time.
What I built
A studio that enforces photography-grade prompt discipline before anything is generated. A prompt linter blocks lazy briefs, a Director workflow expands them into shot-ready specs, cheap draft takes come first, a human picks the winner, and follow-up scenes anchor to it for campaign consistency.
Outcome
  • Three draft takes for $0.20: pick a winner before paying for finals
  • Prompt linter in action: 12 errors blocked → 0 after the Director rewrite
  • In production use as the engine behind Mira Content Studio
  • TypeScript
  • Node.js
  • React
  • Vite
  • Gemini image APIs
Shot-planning editor of the AI Product Photography Studio: a filled campaign brief with photographer, lighting, surface and lens fields, camera settings with per-image cost, a cost estimate before generating, and a version history with real run costs.

05 · in production

Human-Approved Social Content

An always-on content system that watches news sources, drafts posts in the page’s voice, sources real photography and composes branded graphics, then publishes only after a human taps Post in Telegram. Live in production, posting daily, with 170 automated tests that run fully offline.

  • Python
  • Telegram Bot API
  • Instagram API
  • systemd

06 · in daily use

Self-Hosted AI Agent Platform

A personal operations agent on my own server: typed tools over private data, scheduled morning briefs and weekly reviews, voice-note routing, and a dashboard for uptime, jobs and cost. It’s the testbed where the patterns in everything above get proven first.

  • Python
  • FastAPI
  • MCP
  • SQLite

process

How I work

The pattern across every project is the same: map the process, build the software, keep risky steps controlled, make the system easy to understand.

  1. 01

    Map the workflow

    Before any code: what comes in, what needs to happen, where the risk lives, and what done looks like. If AI doesn’t earn its place in the flow, it doesn’t go in.

  2. 02

    Build the system

    An app, an automation or an agent: small, typed, tested pieces on boring, reliable infrastructure. Working software over impressive demos.

  3. 03

    Keep humans in the loop

    Approval gates on anything that touches customers, money or public output. Every automated step is logged and auditable.

  4. 04

    Hand it over properly

    Documentation, runbooks, tests and cost telemetry. You get a system your team can run, understand and change without me.

capabilities

Skills & stack

Languages
  • Python
  • TypeScript
  • JavaScript
  • Go
  • SQL
AI systems
  • Claude API
  • OpenAI
  • Gemini
  • MCP
  • RAG
  • Tool calling
  • Model routing
  • Evals
Backend & apps
  • Next.js
  • React
  • FastAPI
  • Node.js
  • REST APIs
  • Webhooks
  • Prisma
  • Supabase Postgres
Automation
  • n8n
  • Telegram Bot API
  • Google APIs
  • Notion API
  • Resend
  • Playwright
Infrastructure
  • Docker
  • AWS Lightsail
  • Linux
  • nginx
  • Cloudflare
  • systemd
  • GitHub Actions

background

Experience

Operations first, engineering second. It’s why the systems I build respect how work actually flows through a business.

  1. 2026 · now

    AI Automation Developer · Mira Solutions · London

    Freelance builds: AI agents, internal tools and workflow automations shipped to production, with approvals, observability and handover built in.

  2. 2023 · 26

    Founder & Operations Manager · MIRA Properties · London

    Ran a short-let property business end to end, and automated the repetitive half of it with n8n and Claude workflows.

  3. 2022

    Internal Operations Associate · Datto · London

    IT operations at scale: high-volume support across walk-up, phone and remote channels, plus a Google Workspace to Microsoft 365 migration.

  4. 2021 · 22

    Business Operations · Motherland Organics · London

    Multi-channel e-commerce operations across Shopify, Amazon and social commerce.

  5. 2019 · 21

    Assessment Operations Administrator · AAT · London

    Regulated, GDPR-sensitive process work: appeals handling where accuracy and auditability were the job.

BA (Hons) Business Studies · University of Greenwich

contact

Let’s build something that actually ships.

I’m open to AI engineering and automation roles, and selective freelance projects. The fastest way to reach me is email. I read everything.