Landing de SG-Remesas: calculadora de envio de USD a MXN

Deep-dive de SG-Remesas

De los tres proyectos, SG-Remesas es el que más se parece a software financiero real, y eso cambia por completo qué es «terminado». En un CRUD normal, terminado es que el dato se guarde bien. En una plataforma de remesas, terminado es que cada cambio de estado quede registrado, que nadie mueva dinero sin permiso, y que el sistema mismo sepa cuándo algo huele raro.

Landing de SG-Remesas: calculadora de envío de USD a MXN

La superficie pública es la parte fácil

Landing con calculadora de conversión en vivo (USD → MXN con comisión y tasa mostradas antes de confirmar), rastreo público de remesas por código (REM-2026-XF83A) sin necesidad de iniciar sesión, registro con selección de país. Nada de esto es difícil de construir. Lo interesante está del otro lado del login.

Roles que realmente restringen

El panel interno separa Admin, Auditor y Operador, y no es una etiqueta decorativa: un Operador puede aprobar o declinar transacciones desde la bandeja de «Pendientes», pero solo un Auditor puede calificar un caso de cumplimiento. Cada usuario interno queda además separado de los «Clientes» registrados — dos tablas, dos propósitos, sin mezclarse.

Panel de usuarios de SG-Remesas con roles Admin, Auditor y Operador

KYC por niveles, no por checkbox

En vez de un «verificado sí/no», cada cliente tiene un nivel — KYC-0, KYC-1, KYC-2 — y ese nivel determina límites reales de operación (kyc0_max_single_usd, kyc1_max_monthly_usd, configurables desde el propio panel, no hardcodeados). Un cliente KYC-0 recién registrado no puede mover el mismo volumen que uno ya verificado a nivel 2. Las revisiones pendientes de documento aparecen en su propia cola, con el archivo adjunto para calificar.

Panel de KYC de SG-Remesas con clientes registrados y su nivel de verificación

El motor de alertas AML no es una tabla de logs

Esta fue la parte que más disfruté diseñar: un panel de reglas activas — threshold_amount (transacción individual sobre cierto monto), structuring (3+ transacciones al mismo beneficiario en 24h que en conjunto superan un umbral, el patrón clásico de fraccionamiento para evadir controles), new_client_high_value (cliente con menos de 30 días haciendo una operación grande) — que generan alertas reales sobre las transacciones que de verdad se están procesando, no una lista simulada. Cada alerta queda en estado «Pendiente» hasta que alguien la investiga.

Bandeja de cumplimiento AML de SG-Remesas con reglas de alerta activas

Trazabilidad como requisito, no como buena práctica

El historial de auditoría (identificado en el propio sistema como RF-42, un requisito con número, no una idea suelta) registra cada transición de estado por código de remesa — pending → processing, processing → failed, completed → reversed — con el operador responsable y un comentario. Es un log inmutable: no se edita, solo se agrega. Si alguien pregunta «¿quién aprobó esto y por qué», la respuesta está ahí, no en la memoria de alguien.

Historial de auditoría inmutable de SG-Remesas con transiciones de estado por remesa

Comisiones configurables por par de divisas

Nada de una comisión fija global: cada par (USD→MXN, EUR→COP, GBP→MAD…) tiene su propia tasa y monto mínimo, editable desde el panel, junto con tramos de incentivo por operador según el volumen que procesan. Es la clase de detalle que separa «funciona en la demo» de «lo podrías usar para operar de verdad».

Stack

React · Node.js · Express · PostgreSQL · JWT + RBAC · Docker.

Repositorio en GitHub · Demo en vivo

Entradas Similares

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *