Skip to content

Duecare Mobile — worker-facing private checker

Status: Built (sibling repo). Lives in duecare-journey-android v0.9.0.

The worker-facing product. Global migrant-worker focused, not OFW-specific — OFWs are one demo persona among the corridors covered (Asia + GCC + LATAM + West Africa + Lebanon kafala + Syria/Ukraine refugee routes).

Critical framing

The mobile app says, plainly:

"This is a private risk check and resource guide. You decide what to do next."

It does not auto-report. It does not tell workers to confront abusers. It does not store sensitive content by default. It does not pretend to provide legal advice.

Modules (target)

Module Purpose Status in v0.9.0
Private checker Paste / screenshot suspicious job offer or message Built (Journal tab)
On-device Gemma Local inference for privacy Built (MediaPipe LiteRT, Gemma 4 E2B)
Offline packs Laws, contacts, warning signs by country / corridor Built with bundled corridor packs; Exchange consumption is roadmap
Multimodal scanner Read job ads, contracts, screenshots Roadmap (image picker present; on-device multimodal pending)
Risk explanation Plain-language red flags Built (Advice tab)
Trusted help Official contacts and NGOs Built (subset of _contacts.json baked in; full sync via Exchange is roadmap)
Draft report User-reviewed complaint / referral draft Built (RefundClaim auto-draft + Reports tab generates intake doc)
Safety mode "Do not confront recruiter / employer" guidance Built (Settings tab)
Localization Tagalog, Bahasa Indonesia, Nepali, Arabic, Hindi, Bengali, etc. Partial (en / tl / id / ne / ar shipped; ur / bn / hi / vi / si / ta roadmap)

What's already shipped (v0.9.0)

  • 4-tab nav: Journal · Advice · Reports · Settings
  • MediaPipe Gemma 4 E2B running fully on-device
  • Cloud routing (Ollama / OpenAI-compat / HF Inference) as fallback
  • SQLCipher encrypted journal
  • ILO Forced Labour indicators
  • 20 migration corridors (Asia + GCC + LATAM + West Africa)
  • Lebanon kafala framework
  • Syria / Ukraine refugee corridor coverage
  • Add-Fee dialog auto-drafts LegalAssessment + RefundClaim
  • Reports tab generates NGO intake markdown
  • Image picker (multimodal recipe pending)
  • GREP-rule subset mirrored from the chat package
  • rubric subset mirrored from the chat package

APK: v0.9.0-twenty-corridors-new-rules

How Mobile relates to the chat package

The chat package is the canonical source of GREP rules, RAG docs, rubrics, contacts, and personas. The Mobile app is a codegen-mirrored subset. Future versions either:

  1. Pull updated subsets via the Exchange protocol (vetted packs delivered as APK in-app updates), or
  2. Continue receiving codegen-mirrored snapshots when the Android wheel is rebuilt.

Either path keeps Mobile honest: when the chat package gains a rule, Mobile picks it up at the next sync — never at runtime via the model.

Critical boundaries

  • Do not auto-report.
  • Do not tell workers to confront abusers.
  • Do not expose raw messages.
  • Do not store sensitive content by default.
  • Do not hallucinate contact info.
  • Do not pretend to provide legal advice.

These match the chat package's safety boundaries — the model generates and reasons; trusted data comes from the deterministic contact directory and signed RAG packs.