skip to content
stevengates.io

Projects

all projects

OpenLoop preview

OpenLoop

Open-source Boomerang camera, live on Google Play.

public

Free, ad-free, 100%-on-device Boomerang camera for Android — no accounts, no tracking, your video never leaves the phone. Capture → trim → speed / direction / filter → export, all rendered locally with Media3 Transformer. Built solo with AI assistance against Google's own Android standards, every PR gated by an autonomous review agent. Shipped to the Play Store and approved.

AndroidKotlinJetpack ComposeCameraXMedia3Play Store
Image Convert preview

Image Convert

Private, in-browser image converter. Nothing uploaded.

public

Drag in iPhone .heic photos, get back JPG / PNG / WebP — every byte converted locally in the browser, nothing ever uploaded. WASM-backed decode, canvas re-encode, IndexedDB history, batch-ZIP export. Live on Google Cloud Run, shipped through keyless CI/CD (GitHub OIDC + Workload Identity Federation, zero stored secrets).

ReactTypeScriptViteWASMPrivacy-FirstCloud Run
$ stat kayley-cowork
name: Kayley Cowork
tier: lead
since: 2026
tags: Claude Code, Next.js, Supabase
private

Kayley Cowork

Autonomous companion agent built on Claude Code.

private

4-step cognitive loop. Multi-channel ingress: Telegram, Ring cameras, Gmail, calendar, heartbeat tick. 1.5M+ row long-term memory in Supabase. 24/7 PM2-managed services. The same brain replying to this question, written in Markdown + Claude Code + a lot of weekends.

Claude CodeNext.jsSupabaseTypeScriptAI Agents
Loan Tracker preview

Loan Tracker

Agentic web — no input fields. You speak.

public

Built to understand what 'agentic website' actually means before the buzzword settled. No forms, no buttons, no inputs — a mic and a transcript. Loan data lives behind an MCP server the page talks to in plain English.

MCPVercelVoice UIAgentic Web
Mila Gates preview

Mila Gates

A growing-up site for my daughter.

public

Family-facing scrapbook + milestone log + photo timeline for Mila. The 'I build for the people I love' piece. Less technical, more important.

Next.jsFamilyStorytelling
GatesFlix preview

GatesFlix

A private Netflix-clone movie database.

private

2,000+ purchased movies, .NET + C# + MVC, IMDb integration, Synology NAS with VLC encoding. Built because the streaming services kept losing the films I actually wanted to rewatch.

.NETC#MVCSynology
$ stat google-health-cli
name: Google Health CLI
tier: secondary
since: 2026
tags: Go, CLI, OAuth2
live

Google Health CLI

Read-only Go CLI that pipes Google Health into agents.

public

OAuth2 loopback + PKCE, then your heart rate, sleep, steps, and weight stream out as clean JSON for any agent or script. Read-only is enforced at build time — an init() guard panics on any write op. Single static Go binary, shipped to GitHub Releases via GoReleaser and published as an OpenClaw/ClawHub skill.

GoCLIOAuth2Agent Tooling
$ stat loseit-cli
name: LoseIt CLI
tier: secondary
since: 2026
tags: Go, CLI, Reverse Engineering
live

LoseIt CLI

Nutrition data out of Lose It!, no official API.

public

Reverse-engineered Lose It!'s undocumented login + export endpoints to emit per-day nutrition JSON. Self-healing token cache (auto re-auths on the ~14-day expiry), first-party host assertions, and deliberate data minimization — it reads only the two nutrition CSVs and discards everything else. Static Go binary + OpenClaw/ClawHub skill.

GoCLIReverse EngineeringAgent Tooling
$ stat speediance-cli
name: Speediance CLI
tier: secondary
since: 2026
tags: Go, CLI, IoT
live

Speediance CLI

Drive a smart home-gym from the command line.

public

Reads completed workouts and creates training programs on Speediance (Gym Monster) smart cable machines via their unofficial cloud API. A byte-compatible Go rewrite of a Python predecessor — golden-file and schema-parity tests guard the --json contract so dependent agents never silently break. Static binary + OpenClaw/ClawHub skill, MIT-licensed.

GoCLIIoTAgent Tooling