Inspiration
Frontline hiring in Mexico (warehouses, retail, manufacturing, logistics) runs through WhatsApp and Facebook Marketplace postings that are hard to verify: fake recruiters, advance-payment scams, and offers whose commute is quietly infeasible for the shift advertised. Existing frontline-hiring platforms optimize screening and onboarding after an offer is assumed genuine - none of them verify that assumption first. Trusted Hire Mexico is that missing layer.
What it does
Given a raw job posting, it:
- Extracts the claimed company/RFC and flags scam-pattern red flags in the text - a real Google ADK LlmAgent on Gemini (Job Trust Agent).
- Independently re-reads the same posting with Gemma, a genuinely different model family, run in parallel (Gemma Verifier Agent) - any flag either model raises is kept and honestly attributed to whichever one found it, so one model's blind spot isn't the whole system's.
- Cross-references the claimed RFC against Mexico's official SAT Article 69-B blacklist of shell companies - real government data, never an LLM guess.
- Checks whether the commute from home to the job site is feasible for the stated shift, using real Google Maps Directions data - deliberately deterministic, not an LLM call.
- Combines everything into one persisted case state: READY, AT_RISK, or FLAGGED.
What this system does NOT claim: a clean result is not a safety guarantee. Most informal job scams in Mexico never use a real RFC at all, so absence from the SAT blacklist only means "what we could check came back clean" - this is a verifiable-evidence layer, not a certainty machine. Every flag links back to a real, checkable source so a human can verify or appeal it directly.
Features
- Dual-model scam detection: Gemini + Gemma run in parallel on the same posting, flags merged with per-model attribution (never silently dropped)
- Real-time progress in the UI via Server-Sent Events as each agent completes
- Live cross-check against Mexico's official SAT Article 69-B shell-company blacklist (14,000+ real records)
- Commute feasibility check via real Google Maps Directions data, deterministic (no LLM)
- Persisted case state (READY / AT_RISK / FLAGGED) backed by SQLite
- Per-IP rate limiting on the public demo endpoint to prevent quota abuse
Data sources
Mexico's SAT Article 69-B EFOS blacklist - the official government CSV of confirmed/presumed shell companies, fetched directly from omawww.sat.gob.mx.
How we built it and challenges we ran into
- SAT publishes the Article 69-B blacklist as a plain CSV with no auth - validated against the live file (14,000+ real records across 4 status categories).
- That SAT host times out intermittently, even from Cloud Run's own network on a cold start. Since a fresh container has no cache to fall back on, the first lookup after a deploy would otherwise hard-fail the whole pipeline. Fixed by shipping a real CSV snapshot inside the Docker image as a fallback - the live source is still tried first on every cache refresh.
- A SAT 69-B match is real, checkable evidence; its absence is not proof an offer is safe - this distinction shaped every verdict label in the system (FLAGGED / NO_RED_FLAGS_FOUND / INSUFFICIENT_INFO, never anything implying a safety guarantee).
- A single model can repeat the same flag twice within one response - observed live from Gemma on a real posting. The merge logic has to guard against a model double-counting itself, not just against disagreement between the two models.
What's next for Trusted Hire Mexico
Move the case store from SQLite (fine for a demo session, but Cloud Run's filesystem is ephemeral) to Firestore for real production use, without touching the orchestrator or API layer.
Google technology stack
- Gemini 3.5 Flash-Lite (
gemini-3.5-flash-lite) — accessed through the Gemini API via thegoogle-genaiSDK, wrapped in a Google ADKLlmAgent. This is the model behind the Job Trust Agent's scam-pattern extraction. - Google Agent Development Kit (ADK) — every LLM agent is a real
google.adk.agents.LlmAgentexecuted throughgoogle.adk.runners.InMemoryRunner(seeagents/orchestrator.py). - Google Cloud Run — the whole app is deployed and demoed live on Cloud Run.
- Google Maps Directions API — real transit-time data for the deterministic Commute/Geo feasibility check.
- Gemma (
gemma-4-26b-a4b-it) — additional Google model, run as an independent second-opinion verifier agent alongside Gemini on every request.
One of four
One of four projects on the same spine — an LLM proposes structure, deterministic code decides the outcome, and the evidence comes from an independent source you can check yourself. Here it's Mexico's SAT Article 69-B shell-company blacklist; a point-in-time Wayback capture in The Promise Ledger, versioned business rules in ScopeCouncil, a cited linguistic archive in Language Recovery OS.
Built With
- docker
- fastapi
- gemini
- gemma
- google-adk
- google-cloud-run
- google-maps
- python
- server-sent-events
- sqlite
Log in or sign up for Devpost to join the conversation.