Open to full-time · remote or CDMX

Brandon Soria · Full-stack & AI Engineer

I build AI agents that do real work — and stay under control.

Three live systems. Try them.

3

live systems

16,000+

real listings tracked

Open

source code

01 · Answerlive

Answer from company data

Answers customers from the store’s policies and live orders, and cites every source.

Volt Mobile · support agent

Volt Mobile, a demo phone store. Ask anything — try to make it hallucinate:

How the answer was built

Tool calls, SQL, sources and cost appear here.

How it’s built

Use this when the answers exist in documents or a database, but finding them takes a person.

  1. 01

    Question

    streamed chat

  2. 02

    Agent loop

    tool calling, max 5 steps

  3. 03

    search_docs

    policies in pgvector

  4. 04

    find_products · get_order

    Postgres

  5. 05

    Answer + trace

    sources, SQL, cost

Decisions

No agent framework

Why Three tools and one loop fit in a plain route handler.

Trade-off Retries and memory are hand-written.

Vector search + SQL

Why Policies are fuzzy; stock and orders need exact values.

Trade-off The model can pick the wrong tool — the trace shows it.

The model never writes SQL

Why Fixed, parameterized queries; arguments validated with zod.

Trade-off No ad-hoc questions outside the tools.

When it fails

  • →Weak matches (<0.3 similarity) → “I don’t know”, not a guess.
  • →Bad tool arguments go back to the model, not a crash.
  • →5 steps per answer, 25 requests/hour per visitor.
Next.jsOpenAIpgvectorPostgreszod
View the code
02 · Actlive

Act on the CRM, with approval

Qualifies a lead and prepares the CRM updates, then waits for a person to approve.

Inbound WhatsApp leadwaking Python service…

LangGraph · live

  1. QualifyLLM · structured output
  2. Look upMCP · find_contact, search_inventory
  3. Draft replyLLM · streamed
  4. Propose CRM actionsLLM · MCP tool schemas
  5. Human approvalLangGraph interrupt · Postgres checkpoint
  6. ExecuteMCP · write tools

Pick a lead and run it. The agent stops before changing anything, until you approve.

CRM pipeline · Postgres

new · 0

qualified · 0

quoted · 0

won · 0

lost · 0

How it’s built

Use this when the AI should take actions, but a wrong one costs money or customers.

  1. 01

    Qualify

    intent, budget, score

  2. 02

    Look up

    CRM + inventory via MCP

  3. 03

    Draft + propose

    reply and actions

  4. 04

    Approval

    paused, state in Postgres

  5. 05

    Execute

    approved actions only

Decisions

LangGraph here

Why The run pauses for hours and resumes exactly where it stopped.

Trade-off More moving parts than the first system.

Its own MCP server

Why The only door to the CRM, reusable from any agent.

Trade-off One more process to run.

Writes need a human

Why Nothing changes before approval; only allow-listed tools run.

Trade-off Slower than full autonomy.

When it fails

  • →Tools outside the allow-list are rejected.
  • →A restart mid-approval resumes from the checkpoint.
  • →Cold starts are shown, not hidden.
PythonFastAPILangGraphMCPPostgres
View the code
03 · In production

Resale Intelligence

The system I run my electronics resale business on. Real data, updated daily.

brandon-s-engineer.com/resaleFull page
real data · last capture Oct 30, 8:27 AM

Listings tracked

16,739

since Sep 24

Likely sold

4,865

tracked ≥20 h, then gone

Price changes logged

18,459

every re-capture

New in last 7 days

1,709

iPhone, iPad, Mac, audio

What used Apple devices really sell for in Mexico City

Bar = middle 50% of asking prices (P25–P75) · tick = median · MXN

  • iPhone 17 Pro Max$20,000
  • iPhone 16 Pro Max$14,000
  • iPhone 16 Pro$12,500
  • iPhone 15 Pro Max$10,400
  • iPhone 16$9,750
  • iPhone 15 Pro$8,900
  • iPhone 14 Pro Max$7,500
  • iPhone 15$7,000
  • iPhone 14 Pro$6,800
  • iPhone 14$5,500
iPhone 17 Pro MaxP25 $18,000median $20,000P75 $22,000963 listings241 soldsells in ~2 d

Today's flagged deals · real listings

Scored by the CRM against the market. Pick one and let the agents decide.

Or paste any listing

Deal desk · multi-agent

Six steps, two kinds of work. Code and SQL produce every number: the parse, the comparable sales, the margin target and the max price. LLM agents only judge what code can't — ambiguous text, scam signals, and how to word the offer — and their output is schema-validated and clamped to the numbers.

How it’s built
  1. 01

    Chrome extension

    captures listings

  2. 02

    Ingest API

    validated, deduped

  3. 03

    Price model

    deterministic code + SQL

  4. 04

    Postgres

    listings, price history

  5. 05

    Agents

    judgment only

Decisions

Code for numbers, AI for judgment

Why Prices and margins are code; agents judge text and scam signals.

Trade-off More code than “ask the model”.

Capture at the source

Why A Chrome extension sends every listing I browse.

Trade-off Coverage = what I browse.

Cache the market view

Why 30-minute cache lets the database sleep.

Trade-off Numbers can be 30 minutes old.

Chrome extensionNext.jsPostgresMulti-agentzod
View the code

Next: cross-border sourcing.

Smaller builds

Focused features, each one real.

Let’s talk.

Open to full-time · remote or CDMX