AI Engineer

I design, ship and operate production AI systems.

Self-taught, AI-assisted builder who ships complete products end to end — marketplaces, mobile apps, and now agents. The case files below are real: problem, architecture, decisions, and what's still in progress.

Available for remote contracts — Q4 2026
GitHub CV (PDF) LinkedIn Email

Case files

Projects

gearmatch Currently building
Problem
Semantic search and a publishing agent for HornyGorilla listings — going from keyword matching to natural-language gear search ("40–45 sq ft canopy, good condition, under $2k").
Stack
Planned: FastAPI, pgvector embeddings, an LLM agent for listing assistance, an evals harness, cost/observability tracking, and a demo UI on the Vercel AI SDK.

Design phase — part of a July–October 2026 build plan. This card gets real content and a live demo as those blocks ship; until then the honest status is "currently building," not "currently built."

dropzone-mcp Currently building
Problem
Skydivers and dropzones need current wind/weather conditions in the hands of any AI agent, not buried in a dashboard — a server any MCP-compatible client can query.
Stack
Planned: an MCP server wrapping public weather/wind APIs, published for other agents to consume.

Design phase, same build plan as gearmatch. No public server yet.

voice-agent Currently building
Problem
Real-estate agencies in Spain and Chile lose WhatsApp leads to slow response times. A voice/chat agent that qualifies leads in Spanish and hands off a clean summary.
Stack
Planned: a voice agent platform (Vapi/Retell) plus n8n for the post-call pipeline, Spanish-language prompts tuned for the real-estate niche.

Design phase. Feeds both this portfolio and outreach material for the services side of my work once there's a working demo.

hornygorilla Live in production
Problem
A used-gear marketplace for skydiving lacks a trust layer — how do you buy a used canopy or reserve without a way to verify it's actually airworthy? HornyGorilla adds an optional third-party rigger inspection ("Rigger Verified") on top of a normal marketplace, plus a swap market for canopy trades.
Stack
Next.js 16 App Router, Supabase (Postgres + RLS + Auth + Realtime), Vercel (hosting + cron), Resend for transactional email.
Shipped
Marketplace, inspection flow, Trade Pool, and a 15-article blog — all live.

The differentiator is the Trade Pool: instead of only 1:1 listings, a nightly job matches 3–4-way canopy swap chains (depth-first search over open offers) — something I haven't seen another marketplace in this niche offer. Verification is opt-in rather than a gate to publishing, a call made after watching sellers avoid friction.

In production it also survived a real incident: a sanitization library passed every local build, then broke only inside Vercel's serverless runtime (ERR_REQUIRE_ESM). Fixed by moving sanitization to import time instead of guessing at the render layer.

range Shipped — not yet distributed
Problem
Prove range beyond one stack: ship finished tools across mobile, wearable, and cross-platform code without duplicating the core logic three times.
Stack
Flutter/Dart + Supabase (Rupü Sur); Kotlin + Jetpack Compose for Wear OS with a shared Kotlin Multiplatform domain module compiled to a Swift-consumable XCFramework for a native iOS/watchOS port (FallTrace); Kotlin + Compose for Wear OS (Metronome Watch).

Rupü Sur — a hiking app for southern Chile: GPS navigation, social activities, AI flora/fauna ID via PlantNet, a catalog of 179 routes. Feature-complete, pending Google Play publication.

FallTrace — a real-time barometric altimeter and GPS tracker for skydiving, built for a OnePlus Watch 3, with a companion Android app synced over the Wearable Data Layer. Validated on simulator; a real-jump field test is still pending.

Metronome Watch — a Wear OS metronome with drift-corrected timing for hands-free practice.

Discipline

Engineering practices

Debugging discipline

A sanitization library once passed every local build and broke only inside Vercel's serverless runtime. The fix wasn't retrying the same approach — it was tracing the actual runtime log and moving the work to import time. Green build and verified runtime are two different claims.

Structured audits

Ran a systematic security/quality audit on HornyGorilla: 23 findings triaged by real risk (auth and RLS first, code smells last), 20 fixed, 3 explicitly deferred with a written gate — not silently dropped.

Cost-aware model routing

Not every task needs a frontier model. Lead classification runs on a small, cheap model; architecture and judgment calls go to a larger one. The point isn't "use AI" — it's knowing which tool the task actually needs.

Documentation as infrastructure

Every project keeps an append-only decision log and roadmap, so state survives across sessions and tools instead of living only in memory.

About

About

I'm a self-taught builder — I ship with AI-assisted development, and I'm not shy about that: the projects above are real, in production, carrying real users and real data. Learning happens on live projects, not toy exercises.

Outside of code, I'm a skydiver. Not the narrative, just a habit that transfers: checklists you actually follow, redundancy for the failure modes that matter, and treating "it worked once" as different from "it's reliable."