Andrej Suttles
Forward Deployed Engineer · Greenville, SC · Remote

I embed with the operator and ship the system into production.

Ten years owning client deployments end to end, from the first discovery call to the system running inside the business. I work AI native: spec driven builds in Claude Code, parallel agent lanes in isolated worktrees, and eval and test gates before anything ships.

Email me LinkedIn GitHub
1,615
automated tests gating a single release built by four parallel agent lanes
6.8s
median extraction on an industrial quote intake demo, 8 of 8 samples correct
0 of 15,994
product variants left without a shipping weight after a catalog rebuild
2016
embedded with operators since, across automotive, roofing, real estate, fitness, and hospitality

Selected work

Every number below was measured, and every status is stated plainly: live, in production, in beta, or built and tested.

01

ForeRun

Live on the App Store

Subscription iOS app. Designed, built, and launched solo.

forerunapp.com

A parent speaks a brain dump or photographs a school flyer. An LLM pipeline turns that unstructured input into dated tasks, assigned to the right child, on a shared household board.

Engineering decisions
  • Claude Haiku 4.5 by default, escalating to Sonnet 4.6 only when a photo comes back empty, so the expensive model is paid for only when the cheap one fails.
  • Speech recognition and image downscaling run on device: voice never leaves the phone, and uploads stay under the payload cap.
  • One forced tool call, strict server side validation, and a parent confirmation step before anything lands on the board.
  • A 15 case eval suite, including a prompt injection case, fails below 0.8 recall. No prompt or model change ships without passing it.
~$0.005
estimated cost per photo extraction
~$25/mo
entire production backend
15 cases
eval gate on every prompt change
React Native · Expo · Supabase Edge Functions · Anthropic API · App Store billing
02

BoothOps

TestFlight beta

iPad photo booth platform. A study in parallel agent delivery.

Four Claude agent lanes ran at once over two days: an iOS camera feature, a live slideshow, and web and iPad audit fixes. Each lane had its own git worktree and its own private Supabase stack, and lanes merged each other's finished work before landing.

How the output was verified
  • Reviewer fix rounds on every lane. Review caught a merge that had silently disabled a test.
  • Generated database types regenerated from each private stack, never merged by hand.
  • Mutation testing (29 of 29 mutants killed) and flaky tests stabilized to 10 of 10 runs.
  • Final gate: typecheck, lint, build, browser and native suites, with native tests run under Address and Thread Sanitizers on a fresh stack.
4 lanes
102 commits, merged into one release
1,311
Vitest and Playwright tests passing
304
native tests under sanitizers
TypeScript · native iOS · Supabase · Vitest · Playwright · git worktrees · Claude Code
03

Industrial quote intake

Working demo

Built for a transformer supplier after discovery with their CTO.

Their sales team quotes from messy customer emails and PDF spec sheets. The demo turns either one into structured quote fields that map to their existing quoting layer over NetSuite: kVA, voltages, phase, unit type, quantity, and delivery.

Engineering decisions
  • Uncertain fields are flagged for a technician rather than guessed. Editing a field reruns rules and matching instantly, never the model.
  • Matches each request against in stock units and drafts the customer reply.
  • Built to their stated goal of systems that never need managing: one source of truth, fails safe, no new logins.
8 of 8
sample requests extracted correctly
6.8s
median response, measured live
2 inputs
pasted email or PDF spec sheet
Claude structured extraction · PDF.js · rules engine · JSON export
04

Georgia Diesel Works

Live client store

Catalog and shipping data rebuild for a dropship parts retailer.

georgiadieselworks.com

A scraped catalog of 10,083 products and 16,952 variants was losing money on every heavy order. One 76 lb exhaust cost $75 to ship against $51.95 collected. I rebuilt the data, then rebuilt shipping on top of it.

Engineering decisions
  • Imputed missing weights from the catalog's own data with a deliberate round up bias, so any error overcharges instead of losing money.
  • Validated before trusting it: 434 of 440 weights matched a vendor dealer feed exactly, and a hold out test on 2,917 items undercharged only 2.2% of the time.
  • Measured dimensional weight instead of padding everything. Only radiators were a real problem (2.46x), so they got their own tier.
  • Moved fixes to the Admin API after Shopify's bulk tools silently failed and a stale CSV import silently reverted earlier work.
  • Archived 984 noncompliant products while deliberately keeping about $268K of legal repair parts, without deleting a single record.
1,657
physical variants found with zero weight
98.6%
match against the vendor feed
0
of 15,994 variants missing a weight at final audit
Shopify Admin GraphQL · Python · data validation · hold out testing
05

TrueARV

Live SaaS

Property valuation engine for Upstate SC investors.

Try TrueARV

Reconciles two property data providers into one comp adjusted value with a confidence band. Before any user saw a number, I backtested both providers against real closings, and the measured error reshaped the confidence model.

18
real MLS closings in the backtest
~9.5%
average error measured on one provider
2 sources
reconciled into one value
Next.js · Rentcast and PropData APIs · Python backtesting harness · auth and tiered billing
06

Dispatch Layer

Live SaaS

Route optimization for rental delivery fleets.

Try Dispatch Layer

Models a live logistics operation as a constraint problem: delivery and collection pairs, setup time windows, per truck capacity, and fleet load balancing. House level geocoding handles new construction addresses other providers miss. It went back to paper twice before the routing respected setup windows the way operators actually think.

Python · FastAPI · Google OR Tools · multi tenant Supabase · geocoding
07

Roof Rangers lead routing

In production

Live lead pipeline for a roofing client, plus an AI layer built and tested for it.

Facebook and web leads trigger an instant SMS alert to the owner. Web leads without a consent certificate are held for TCPA compliance. When carrier filtering blocked early alerts, I traced it to number registration and fixed it.

The next layer, a Claude driven engine that qualifies, books, and follows up with each lead (Sonnet 4.6 with a Haiku fallback, quiet hours, opt out, human handoff), is built and tested end to end, not yet live.

16
real homeowner leads routed since September
100%
alert delivery since the registration fix
Zapier · Twilio · A2P 10DLC · Facebook Lead Ads · TrustedForm · Next.js · Anthropic SDK
08

Kalshi weather trading system

Live market data

Autonomous prediction market system, built from scratch.

Ingests ECMWF weather ensemble forecasts across eight city markets, converts them to calibrated probabilities, sizes positions by Kelly criterion, and reports through Telegram. Live performance is instrumented, and measured edge decides which markets it is allowed to trade.

Python · ECMWF ensemble ingestion · Kelly sizing · Telegram alerting

How a deployment runs

The same five moves, whether the customer is a roofer, a parts retailer, or an industrial supplier.

01

Discover

Sit inside the operation until the real bottleneck shows. It is rarely the thing the customer called about.

02

Specify

Write the spec and a CLAUDE.md that fixes the architecture, the rules, and what done means.

03

Build in parallel

Independent agent lanes in isolated worktrees, each reviewed before it merges.

04

Gate

Evals, test suites, and hold out checks against real data. Nothing ships on a hunch.

05

Deploy and support

Go live inside their stack, hand off documentation, and stay on it after launch.

Stack

AI and LLM

Anthropic API and Claude SDK, model routing and fallback, forced tool use, structured extraction, eval harnesses with prompt injection cases

Agentic tooling

Claude Code with parallel agent lanes in git worktrees, Claude Cowork, Claude in Chrome browser automation, MCP, including an Obsidian second brain shared across agents

Backend and data

Python, FastAPI, Supabase, PostgreSQL, Edge Functions, multi tenant SaaS, rate limits and spend caps that fail closed, Google OR Tools

Frontend and mobile

TypeScript, Next.js, React, React Native and Expo, Apple platform SDKs, Xcode builds and App Store releases

Payments

Stripe, Apple in app purchases and subscriptions, tiered SaaS billing

Integrations

Twilio and A2P 10DLC, Shopify Admin API, WooCommerce, Zapier, Facebook Lead Ads, NetSuite style records, PDF.js, Telegram

Infrastructure

Vercel, Netlify, Cloudflare DNS, Supabase, local iOS release pipeline

Quality

Vitest, Playwright, mutation testing, sanitizers, backtesting, hold out validation

Background

B.S. Computer Science, Furman University. Licensed South Carolina real estate agent. Founder of SuttleSolution Media since 2016.

Bring me the workflow nobody has fixed yet.

Open to Forward Deployed, Solutions, and Applied AI roles. Remote from Greenville, SC, and glad to travel to customer sites.

Email
info@suttlesolution.com
Phone
770 310 5506
LinkedIn
Andrej Suttles
GitHub
asuttles23
Andrej Suttles · Greenville, SC · 2026