Durante el proceso de acogida de nuevos usuarios, los Voluntarios de la Cruz Roja (VCR) utilizan formularios protocolarios que priorizan la captura de datos. Sin embargo, estos formularios obstaculizan la comunicación espontánea, empática y humana ademas de no proveer ningún valor inmediato durante este primer contacto. Lo cual nos motivó a trabajar en este reto.
Inspirados por esta necesidad, desarrollamos una appmovil que sustituye los artesanales formularios por una interfaz que no solo automatiza la captura y estructura de datos mediante la voz, sino que también los interpreta en tiempo real para proveer feedback sobre el contexto cultural del usuario, permitiendo al entrevistador crear un ambiente humano, empático y familiar durante la acogida, lo que hace única nuestra solución.
App-rakis no solo resalta por su singularidad, sino también por su gran potencial de escalabilidad e interoperabilidad. La captura de información estructurada funda las bases para la creación de un lago de datos en la nube, que será analizado en tiempo real por nuestra IA para proveer información útil que permitirá a los VCR tener herramientas para interactuar de forma más cercana con los usuarios, identificar factores de riesgo y sugerir conductas que impacten al usuario desde la primera entrevista.
Una visión general de: ¿Qué tipo de arquitectura habéis planteado?
Se ha planteado una arquitectura basada en microservicios y eventos, con el objetivo de generar poco acoplamiento y permitir la adición o eliminación de herramientas y funcionalidades. No se ha considerado el uso de DDD o Hexagonal debido a limitaciones de tiempo.
- Front-end simple que captura datos
- Utiliza IAM para autenticación y autorización
- Permite añadir distintos roles
- Uso de S3 con "Land-zone"
- Genera triggers basados en eventos de inserción de objetos
- Crea eventos de transcripción
- Gestión de datos con Comprehend
- Almacenamiento de datos para futura explotación
- Código back-end no óptimo (por ahora)
- Se recomienda utilizar patrones factory para la creación del cliente
- Implementación de arquitectura CQRS para escalabilidad
- Front-end interactúa con la API
- Envío de datos (POST)
- Solicitud de información (GET)
- Inserción de datos en S3
- Trigger de evento de inserción lanza una función Lambda
- Lambda genera un trabajo de transcripción con el SDK de .NET
- Transcripción almacenada en otro S3
- Trigger envía datos a Comprehend para extracción y análisis
- Datos almacenados en S3
- Procesados por Lambda y enviados a una base de datos (DynamoDB o Elastic)
- Enviados a una instancia EC2 con Graviton y modelo LLM (GPT-2 o Bedrock)
- Automatizar captura de datos de la entrevista (reemplazar los formularios en papel)
- Proporcionar información relevante al entrevistador (poemas, datos sobre la ciudad, contexto)
- Generar reportes sobre acciones de Cruz Roja y sus actividades
- Almacenar datos de voluntarios para realizar "matching" entre necesidades y recursos humanos
¿Qué tecnologías AWS se han utilizado?
Amazon S3, Cloudfront, Cognito IAM, EC2 con Graviton, lambda, Elastic, Dynamo, Comprehend, Bedrock, Transcribe.
Jorge Quevedo Duran - jorque3@hotmail.com Cristian - cristiansc2@gmail.com Jaime - jalpimo@gmail.com