Integration & automation engineer

I build

I build the layer between the apps a team already uses — phones, inboxes, chat, job software, site cameras — on Google Cloud, Supabase and Vercel, so every call, file and request lands with the person who owns it.

28Sites live
08Systems
28Integrations
Automation workspace
Live
  • Site camerajust now

    Progress photo posted with battery status

    Posted
  • Slackjust now

    Vendor quote read — work order drafted

    Created
  • Gmailjust now

    Supplier attachment filed with its sender and thread

    Filed
  • ClickUpjust now

    Task created by hand — announced in Slack

    Posted
  • Quojust now

    Missed vendor call — sent to the job's owner

    Routed
Featured buildSite cameras · in production

The cameras only talk to a phone app. So the phone lives in the cloud.

The 4G battery cameras on each site run account-bound firmware: no desktop client or open-source relay can reach them. So the vendor's real Android app runs on a virtual phone inside a Google Cloud VM, and a script drives it the way a person would.

GCP · ARM VMredroid
$ crontab -l0 6-17 * * * capture.sh$ flock /tmp/capture.lock› starting run · 7 cameras
7Cameras
HourlyCadence
Android 13In Docker
Under the hoodGoogle Cloud and the pieces around it

Compute Engine · ARM VM

Ubuntu on a 2 vCPU / 8 GB Ampere instance. Cron, file locks and shell scripts run the fleet.

redroid + ADB

Android 13 as a Docker container. ADB taps, reads the screen tree and pulls each JPEG off the phone.

Live view in the browser

scrcpy → websockify → Cloudflare Tunnel. Time-boxed sessions that close before the next scheduled shot.

Low-power pacing

Battery, data left and the solar forecast decide each camera’s schedule, and Slack says why it changed.

Google OAuth clients

Per-person Gmail consent on internal and external clients, with every token refresh stamped.

Service accounts

Drive and Sheets access through Shared Drive membership — no domain-wide delegation.

SystemsIn production at a construction developer

Tools that make sure nothing gets missed.

A small team runs large construction projects from phones and inboxes. Each of these puts a call, a file or a request in front of the person who owns it.

01

Operations engine

Reads every conversation across six sources into one evidence-backed record, then routes each open item — a hold, an unanswered vendor, a pricing question — to the person with authority over it.

SlackQuoGmailClickUpJobTreadConnecteamSupabase
02

What needs me today

Each staff member connects their own accounts once; a morning view shows only the items waiting on them, summarized by Claude.

Nango OAuthClerkClaude APISupabase
03

Trade contract generator

Pick a trade, fill an intake, get a finished Work Order. Drop a vendor's quote in Slack and it pre-fills the form and reconciles the line items.

SlackGeminidocxVercel Cron
04

Site camera reports

The site cameras only talk to their phone app, so a virtual Android phone on a cloud VM runs that app and takes hourly progress photos, posted to Slack with battery, stream and data-plan status.

GCP Compute EngineredroidADBSlackSupabase
05

File custody

Every file that arrives by email gets a permanent home in the shared drive, with where it came from attached.

Gmail APIGoogle Drive API
06

Task watcher

A task created directly in ClickUp is announced in Slack within about fifteen minutes instead of the next morning.

ClickUpSlackVercel Cron
07

Opportunity tracker

Scrapes municipal portals for open housing and land-development RFPs and keeps a live board of what is still biddable.

ScrapingSupabase
08

Acquisitions inbox

Broker replies and listing PDFs land in a shared deal tracker automatically, ready for underwriting.

Gmail APIPDF parsingSheets
Integrations28 APIs shipped against
Google Cloud07
Compute EngineGmail APIDrive APISheets APIDocs APIPlaces APIOAuth 2.0
Comms05
SlackQuoZoomRecall.aiTelegram
Field & ops05
ClickUpJobTreadConnecteamReolink appOpen-Meteo
Data & auth05
SupabaseNangoClerkVercelCloudflare Tunnel
AI & automation06
Claude APIGemini APIDeepgramn8nGoHighLevelHelius
Independent productsBuilt for my own clients
AI automationLive

GHL + n8n + Claude

GoHighLevel fires a webhook on contact creation, n8n receives it, Claude writes a personalized email, and the result posts back to the contact record — no manual step.

GoHighLeveln8nClaude APIWebhooks
AI automationRuns daily

Lead scraper & scorer

Scrapes Google Maps, scores each business by its online presence, and drafts outreach with AI — daily, on a cloud VM.

n8nGoogle MapsAI scoringCloud VM
AI productLive

Verdict — website audits

An owner drops in their URL and gets an AI-written audit by email within minutes. Webhook → PageSpeed + scraper → Claude → Gmail → Sheets → Telegram.

PageSpeed APIClaude APIGmailSheetsTelegram
SaaS · POS1 paying

Four Supabase POS systems

Retail, piggery, water refilling and café builds on one configurable core. One paying customer, one tester.

SupabaseNext.jsMulti-tenant
AI · voiceDemo

Hotel booking extractor

Transcribes booking calls with Deepgram and pulls the reservation into structured data with Claude.

DeepgramClaude API
MonitoringEvery 15 min

Uptime monitor

Pings client sites every 15 minutes and alerts only on a real status change, logging response times.

Node.jsScheduling
ExperienceMost recent first
Jun 2026 — now

Integration & automation engineer

Construction & real-estate developer · remote

Building the operations system for a small team running large construction projects from phones and inboxes.

  • One engine that reads Slack, Gmail, Quo, ClickUp, JobTread and Connecteam into a single record
  • Ten satellite tools around it — contracts, site cameras, file custody, task watchers, an RFP tracker
  • A virtual Android phone on a GCP ARM VM that runs the camera vendor’s app and posts hourly site photos to Slack
  • Google Cloud OAuth clients and service accounts for per-person Gmail, Drive, Sheets and Docs access
  • 3,000+ commits in the main repo; tests, docs and rulings kept alongside the code
2025 — 2026

Independent developer

Founders and small businesses

Point-of-sale systems, multilingual storefronts, web3 front-ends and AI automations.

  • Four Supabase POS builds; one with a paying customer
  • Arabic/English storefronts with full right-to-left layouts
  • Live 3D worlds driven by on-chain trades in real time
  • n8n + Claude pipelines for lead scoring, audits and outreach
Selected work28 sites · 5 kinds

28 live sites — open the gallery to flick through them.

ApproachHow the work gets made

Read first, write later — and never pretend a source is complete when it isn't.

01

Map how the work actually moves

Before writing code I trace where requests arrive, who answers them, and where they get lost — calls, inboxes, chat, the job software.

02

Connect it, read-only first

Each integration starts by reading and recording. Writes come later, behind explicit rules about who is allowed to change what.

03

Ship, measure, keep it honest

Every run leaves evidence. If a source is incomplete, the system says so instead of pretending.