No era un comando de voz suelto. Era una capa contextual en tiempo real.
MARI es una app Android (React Native + Kotlin) que escucha comandos en español, interpreta intención con ML local (ONNX/TFLite) y ejecuta acciones guiadas en WhatsApp, YouTube y Mapas con soporte de accesibilidad y lectura de notificaciones.
Problema real#
Los asistentes móviles clásicos fallan al ejecutar acciones útiles en contexto real: entienden palabras, pero no el estado de la pantalla, notificaciones activas ni riesgo de ejecución.
Solución#
Diseñé una capa de orquestación contextual con confirmación inteligente y fallback robusto (ML + reglas), para priorizar precisión y seguridad antes de ejecutar acciones sobre apps sensibles.
Qué es la app#
MARI es una aplicación Android de asistente de voz contextual. Combina experiencia React Native con capacidades nativas de Kotlin para capturar voz, clasificar intención localmente y ejecutar acciones seguras según contexto.
Cómo funciona (flujo real)#
Captura voz por micrófono (comando manual o wake word).
Convierte voz a texto (STT nativo Android / Sherpa).
Clasifica intención con motor ML local.
Extrae entidades (contacto, destino, mensaje, etc.).
Aplica política de decisión (confirmar, aclarar o ejecutar).
Ejecuta acción nativa (abrir app, navegar, responder, buscar).
Responde por voz (TTS) y actualiza estado contextual.
Base técnica#
UI y navegación: React Native + TypeScript + pantallas contextualizadas.
Capa nativa: Kotlin para acceso a capacidades del sistema Android.
Voz: TTS (react-native-tts), STT nativo + Sherpa, wake word (Sherpa/Porcupine).
IA local: ONNX Runtime + TensorFlow Lite con fallback por reglas.
Memoria local: Room DB para alias, comandos recientes, correcciones y rutinas.
MLOps local: scripts Python para dataset, entrenamiento y export ONNX/TFLite.
Módulos e integraciones#
UI/experiencia: Home, onboarding guiado por voz y panel contextual en vivo.
Orquestación: decisión de intención, confirmaciones, aclaraciones y ejecución.
Contexto de uso: Accessibility Service + Notification Listener.
Dominios de apps: WhatsApp, YouTube, llamadas, Google Maps.
Pipeline de voz coordinado para evitar conflictos de micrófono.
Referencias de código
App.tsx
HomeScreen.tsx
ContextAwareOrchestrator.ts
AssistantBridgeModule.kt
AndroidManifest.xml
Arquitectura#
Arquitectura híbrida: React Native para experiencia y ciclo de producto, Kotlin para capacidades de sistema, inferencia on-device para baja latencia, y políticas de clarificación para controlar errores de intención.
Puntos fuertes#
Inferencia on-device con menor dependencia de nube y baja latencia.
Arquitectura RN + Kotlin sólida para UX y capacidades nativas.
Modo asistido contextual basado en pantalla y notificaciones.
Pipeline de voz coordinado entre wake word y comando manual.
Fallback robusto con políticas de clarificación y confirmación.
Cobertura de pruebas: 20 tests en TypeScript y 23 tests en Kotlin.
Resultado#
MARI incrementa control y accesibilidad en escenarios reales de uso móvil, con respuestas más confiables y menor fricción operativa para usuarios que dependen de voz y contexto.
Resumen del proyecto#
Construí MARI como asistente de voz contextual para Android con arquitectura híbrida React Native + Kotlin e inferencia local ONNX/TFLite. Implementé el pipeline completo de voz, la orquestación contextual por app activa y la integración con accesibilidad/notificaciones, sumando memoria local con Room y un flujo MLOps para entrenar y empaquetar modelos.
Si tu equipo está contratando para construir producto móvil con IA real, me interesa sumarme.
Busco colaborar en proyectos serios donde pueda liderar arquitectura y ejecución end-to-end.
