satinlabs / portfolio
satinlabs / README.md

Hi, I'm Satin 👋

I came to AI from operations and project coordination in retail and hospitality. I start from how work actually happens, then build systems that take the repetitive parts off people's hands.

  • The AI talks; the code decides prices, dates and bookings.
  • Every system ships with a test set, and I report the numbers, including changes that made things worse.
  • Work starts on the cheapest model that does it well and moves up only when needed.

Results

ProjectMeasureResult
Model ArenaClients on one APIWeb + iOS + Android
Model ArenaCloud vs own server speed~400 vs 5 tok/s
LINE AI ReceptionistTest conversations passed9 / 9
LINE AI ReceptionistPrompt-injection booking attemptBlocked
Agent LabIndependent judge score7.4 → 8.4
Agent LabSteps finished by free models40% → 47%

Pinned

Ask once, watch several AI models stream answers side by side, then vote blind. Leaderboard split by Thai and English. Cloud models race a free Llama on my own server.

arena-mobile iOS · Android

Native mobile app for Model Arena. Live streaming answers, blind voting and leaderboard; shares one API and database with the web app.

JavaScriptReact Native · Expo

AI receptionist for Thai shops. Answers from the shop's own facts, books and cancels under rules enforced in code, works in LINE and on the web. Auto-deploys on every push.

agent-lab Public

Cost-aware multi-agent system. Planner, workers and reviewer; each step escalates from a free local model to Groq to Claude only when the reviewer rejects it. Scored on a fixed eval set.

Pythonjudge 7.4 → 8.4

Build log

Less More
  • arena-mobileiOS/Android app with live streaming via expo/fetch
  • model-arenaDocker + auto-deploy to arena.satinlabs.dev
  • model-arenaParallel SSE streaming, blind voting, Thai/English leaderboard
  • line-receptionistAdd LINE webhook with signature check
  • line-receptionistAdd GitHub Actions auto-deploy with health check
  • line-receptionistChat eval: 9 cases incl. prompt injection; fix reply language
  • line-receptionistBooking tools with SQLite; shop rules in code; calendar fix
  • agent-labv3: ready-to-use outputs (judge 7.4 → 8.4)
  • agent-labEval harness: 5 cases, two judges, baseline
  • infraServer hardening, Docker, Caddy HTTPS for satinlabs.dev