sebastian@portfolio: ~/ai-agents

Shell · zsh

sebastian@portfolio ~/ai-agents % whoami
stdout sebastian_torres_ortiz
Sebastian Torres Ortiz

Sebastian Torres Ortiz

Machine Learning Engineer | Computer Vision | AI Agent Systems
sebastian@portfolio ~/ai-agents % cat ./bio.txt
~/ai-agents/ bio.txt utf-8
I train computer-vision models and ship them to production. I rewrote a retail vision inference service end to end — 24× faster and 82% cheaper — trained six models with up to 96.7% accuracy, and built an AI-agent platform that has answered 5,700+ business questions with 16k+ automated data queries.

24×

faster inference

Shelf photo end-to-end: 17 s → 0.7 s after the GPU migration.

−82%

serving cost

Inference service rewritten in Rust + ONNX Runtime: $66.70 → $13.71 / month.

96.7%

SKU accuracy

Product classifier measured on 31,311 unseen photos.

0

errors / 8,833 runs

Seven days of production traffic, all served on GPU.

Explore the ML work Download CV LinkedIn Contact

open to ML, computer vision & AI agent work

01 / production machine learning

Computer vision in production, measured.

Numbers straight from the production logs.

sebastian@vision: ~/shelf-inference

pipeline.rs
Retail shelf before product detection Retail shelf with detected products and confidence scores
products found / photo ~41
time per product 2.5ms
errors 0%

response time in production · last 7 days

typical slowest 5%
  • Recognize a product one crop · 307 runs
    65 ms 74 ms
  • Blur faces privacy · 4,317 runs
    147 ms 214 ms
  • Find all products whole shelf · 702 runs
    167 ms 201 ms
  • Privacy check + save results · 1,411 runs
    302 ms 470 ms

8,833 runs · 0 errors · peak 3,287 runs/day

02 / model lab

Six models. Measured results.

What each model delivers today: how many brands it recognizes, how accurately, how fast, and how much it saves.

315 brands recognized
up to 97.1% accuracy
−99.7% cost vs. LLM
74% visits without review

Product recognition

96.7% SKU accuracy

Identifies the brand, sub-brand and exact SKU of every product on a shelf.

brands recognized
315
brand accuracy
97.1%
photos validated
31,311
recall after retrain
75% → 98.6%

Added 7 new SKUs at 97% accuracy with no new labeling round — ~$800 saved per extension.

how it works simulated example
  1. 01 crop
  2. 02 brand
  3. 03 sub-brand
  4. 04 SKU

Store-type classification

74% visits auto-resolved

Tells which of 11 store types each visit belongs to, from its photos.

store types
11
accuracy (auto)
93.4%
top-3 accuracy
97.2%
high-confidence
96.0%

Three of every four visits are classified with no human review; only doubtful ones reach a person.

how it works simulated example
  1. 01 2 photos
  2. 02 fuse
  3. 03 classify
  4. 04 gate

Cooler recognition

95.1% equipment accuracy

Recognizes the cold equipment in a store and which brand owns it.

brand accuracy
92.1%
brands
10
equipment types
3
response time
25 ms

Brand-level cooler audits answered in 25 ms per photo, live in production.

how it works simulated example
  1. 01 photo
  2. 02 type head
  3. 03 brand head

Store-scene detection

−99.7% cost vs. LLM API

Finds signage, fridges, shelving, entrances and address plates in store photos.

cost / 50k photos
$200 → $0.59
time / photo
2–8 s → 50 ms
signage precision
85% mAP50
elements found
10 types

Replaced a paid LLM step: up to 160× faster, at about one cent per thousand photos.

how it works simulated example
  1. 01 store photo
  2. 02 detect
  3. 03 50 ms

Shelf product detection

~41 products per photo

Locates every product on a crowded shelf so each one can be recognized.

response time
165 ms
full shelf analysis
17 s → 0.7 s
detections / week
3,524
production errors
0

Turns one shelf photo into ~41 recognized products in under a second.

how it works simulated example
  1. 01 shelf photo
  2. 02 rotated boxes
  3. 03 recognize

Storefront detection

$0 GPU cost to run

Spots shops in street-level video to map new points of sale.

runs on
any CPU
frames
pre-labeled
annotator task
accept / fix
output
storefront boxes

Annotators start from the model's boxes instead of empty frames.

how it works simulated example
  1. 01 street video
  2. 02 detect
  3. 03 pre-label

03 / ai agents in operations

Ask, analyze, extract, automate.

Two agent systems I built and run: one answers business questions from live data, the other runs field work on WhatsApp.

812k+ messages handled

5.8k research questions + 806k field-capture messages.

321k+ AI & tool calls

LLM calls, data queries, photo checks, transcriptions.

355k field photos processed

Captured through the agents and checked by AI on arrival.

100+ people using them

Field teams on WhatsApp, ops and sales on Slack.

Research agent Slack · ask & analyze
Field agent WhatsApp · extract & automate
50,913 visits guided
37,502 visits completed
780k+ agent replies
136,745 LLM calls
1.7 s p50 LLM response
70 eval questions

LLM agents on Vertex AI · custom MCP server · WhatsApp Cloud API · speech-to-text · BigQuery · PostgreSQL/PostGIS · Pub/Sub · Slack

04 / more work

Products I founded, and personal projects.

Real-estate intelligence I founded and personal projects to test my agents and manage teams of developers and AI agents. More below: Risks Vision quant research, a city-scale retail census from my current role and an on-chain game economy.

Reals Lab

realslab.xyz ↗ real-estate intelligence · founder

What is this property really worth?

Every listing gets a model-estimated fair value, so buyers instantly see what is under- or over-priced.

simulated example
0.88R² apartments
0.80R² houses
14.7%avg. error
18.5klistings monitored

Is this listing trustworthy?

Each listing is checked before buyers see it — inconsistent or suspicious ones never reach them.

real example
8,268listings audited
~2,800bad listings blocked
93.4%avg. ROC-AUC
97.8%best segment

Try the valuation model yourself

The real production model, running in your browser. Change any field and the estimate updates instantly.

Property
example · auto demo

Estimated value

—

loading model…

per m² —

Model accuracy on unseen listings: R² — · avg. error —

Investigation projects

tools I build to test my agents and manage teams · personal projects

os-agents-evals: make the models fight

github.com/ctrlProgrammer/os-agents-evals ↗

Which LLM is really better for a task? I don't guess. I put the models in the ring with the same test cases and score every round: accuracy, cost, speed and reliability. Any model can enter, and every fight ends with what to improve.

  1. 1 Same questions

    Every model gets the exact same test cases.

  2. 2 They fight, round by round

    One round per metric. Any model can enter: JEV, Gemini, Claude, GPT, DeepSeek…

  3. 3 Wins, losses, next step

    Who wins, where each one loses, and what to improve before shipping.

illustrative matches · not published results
roster
  • JEV
  • Gemini
  • Claude
  • GPT
  • DeepSeek
  • Llama
  • Mistral
  • + any model
Match 1 / 4 · JEV vs Gemini · freezer · photos of cold equipment
Round JEV Gemini Winner
R1 Accuracy who answers right more often 94% 88% JEV · +6 pts
R2 Cost per 1k queries · cheaper wins $0.17 $0.90 JEV · 5× cheaper
R3 Speed p95 latency · faster wins 0.85s 2.4s JEV · 3× faster
R4 Reliability F1 across every class 0.92 0.85 JEV · +0.07 F1

Next step → Gemini costs 5× more and is 3× slower here, for less accuracy. Not the model for this task.

os-dev-management: manage people and AI agents with git data

Who ships, how fast, and whether the code holds up, for developers and for the AI agents writing code next to them. Below is a real run on a public open-source repo, so every number can be checked.

real osdm run · public repo stablyai/orca

who writes the code

  • 👤 155 developers work without AI
  • 🤖 68 developers work mostly with AI
  • ✳ Claude Code AI co-author
  • ◆ Orca agent AI co-author
osdm reads git history + GitHub PRs
  • › 8,701 merged PRs · 54,153 commits
  • › AI mark on 784 PRs: co-authors, footers, bots
  • › replay every line: redone within 21 days?

management report · 27 Jul – 24 Oct 2026 · 90 days

97 PRs merged / day
3h 20m typical time to merge
9% PRs made with AI
21% new lines redone in 21 days

👤 without AI🤖 with AI

Code redone in 21 days 20% 31% AI 1.6× more
Time to merge 3h 15m 4h 21m AI 1.3× slower
PR size 328 lines 463 lines AI 1.4× bigger
Depends on a few people? Yes · 2 people know half the code
Team works in islands? No · 0 isolated zones
A change drags many parts? Often · 30% touch 3+ parts
Code redone right away? Yes · 21% within 21 days

→ AI code is redone 1.6× more. Review AI PRs more carefully before merge, then measure again in a month.

→ config/scripts depends on one person (66% of its files). Pair the next contributor on its reviews.

→ Team 4 people make 80% of the changes. Succession plan: document what they know, spread the reviews.

Check it yourself: github.com/stablyai/orca ↗ · merged PRs and main-branch history, 27 Jul – 24 Oct 2026 · 90 days. People are anonymized.

Additional projects Risks Vision · Retail census · Unreal Destiny

Risks Vision

risksvision.xyz ↗ ML crypto strategies, run by AI agents · founder

Only the strategies that survive get traded.

Machine-learning strategies, run by AI agents: one reads markets, one sets risk limits, one runs the book. 102 strategies were stress-tested with real fees — only 8 made the portfolio.

backtest 2020–2026 · fees included
33%CAGR vs 15% S&P
1.49profit factor
-13.4%max drawdown
2,037trades simulated

Out-of-sample (2025+): profit factor 1.32 over 612 trades · beta to the S&P 500: 0.02 · simulated results, not live returns.

Retail census

geospatial data system · part of my current role, built for a retail-intelligence platform

Every store in the city, mapped and prioritized.

A living census of traditional retail: where every store is, how much potential each zone holds, and where field teams should go next.

simulated example
~70k stores geolocated
32.8kfield-verified stores
72kstore visits
666isochrones
4cities
  • Isochrones — the city split into logical zones: Bogotá 412, Cali 96, Medellín 93, Barranquilla 65
  • Potential — estimated stores per isochrone, 71k in total
  • Pareto — the fewest isochrones holding 80% of the potential
  • Coverage — verified stores in 86% of Bogotá's isochrones
  • Planning — a daily route for every field agent

Unreal Destiny

watch gameplay ↗ blockchain RPG · smart contract developer

A game economy players can verify.

Every reward, trade and stake in this fantasy RPG settles on-chain through smart contracts I wrote.

how it works
100k+on-chain transactions
3blockchains
1player-owned economy
Soliditysmart contracts

05 / experience & skills

7+ years building software. ML systems, end to end.

  1. ML & AI Agentic Systems Lead computer vision & AI agents 2025 – now

    24× faster inference · 812k+ agent messages

  2. Founder Reals Lab · real-estate intelligence 2026

    18.5k listings monitored · 97.8% best audit ROC-AUC

  3. Founder Risks Vision · ML strategies run by AI agents 2025 – 2026

    102 strategies tested · 33% CAGR backtest

  4. Software engineer → DevOps tech lead Unreal Destiny · blockchain RPG 2021 – 2024

    100k+ on-chain transactions · Go & Solidity

  5. Earlier2019 – 2022
    • Senior developer · Global Hitss 2020 – 2022
    • Creative director · Natural Simulators 2020 – 2021
    • Web developer · ESinergia 2020
    • Web developer · InkCode Corp 2019
  6. EducationSystems Engineering · Universidad Nacional de Colombia
01 Data ~70k stores mapped
  • BigQuery
  • PostgreSQL / PostGIS
  • Scraping
  • Labeling tools
02 Models 96.7% SKU accuracy
  • YOLO · RT-DETR
  • EfficientNet
  • XGBoost
  • LightGBM
03 Serving 24× faster, −82% cost
  • Rust · Axum
  • ONNX Runtime
  • CUDA
  • Kubernetes
04 Agents 812k+ messages
  • MCP servers
  • LLMs on Vertex AI
  • Slack · WhatsApp
  • Eval sets
05 Product 2 products founded
  • TypeScript · React
  • Go · Python APIs
  • GCP · AWS
  • Solidity

contact / next collaboration

Let’s build something measurable.

Tell me about the model, agent or data system you need. Email is the fastest path — the form drafts the message for you.

compose_message.sh opens your email client