SpartanDev EN Contacto

Conecto sistemas.
Construyo productos.

Plataforma & seguridad Integración & hardware Producto & automatización
SpartanDev: casco espartano plateado con circuitos carmesí

Selección de proyectos

Distintas tecnologías

Panel MCP: permisos SQL concedidos por objeto y SQL libre desactivadoAmpliar captura
Plataforma e IAEn producción

Servidores MCP para ERP

Conecta SAP HANA, SQL Server y SAP Service Layer con asistentes de IA. Los permisos se comprueban en el servidor y en la propia base de datos, así que el asistente solo ve lo que el usuario ya podía ver, y cada consulta queda registrada.

TypeScriptNode.jsMCPSAP
Detalles técnicos

El reto

Dar acceso al ERP conservando el control sobre qué datos puede consultar cada persona.

Lo que construí

Autenticación central, permisos por origen y objeto, análisis de SQL de solo lectura y un registro de cada consulta. El control se aplica tanto en los privilegios de la base como en el servidor MCP.

Imagen: interfaz real con datos ficticios. Código privado.

Terminal de LoginService: rotación y revocación de la familia de tokens tras detectar reutilizaciónAmpliar captura
Identidad y seguridadEn producción

LoginService

Autenticación compartida por aplicaciones web, Flutter y MAUI. Valida las contraseñas con el mismo cifrado que ya usaba el sistema anterior, así los usuarios existentes entran sin migrarlos, y la rotación de tokens corta una sesión robada en cuanto alguien la reutiliza.

C#.NET 8JWT RS256Entra ID
Detalles técnicos

El reto

Unificar aplicaciones heredadas y modernas sin migrar usuarios ni entregar las credenciales del ERP al cliente.

Lo que construí

Un servicio en cuatro capas que valida las contraseñas con el cifrado del sistema anterior. Cada refresh token rota al usarse; si reaparece uno consumido, se revoca toda su familia. Los consumidores validan la firma con una clave pública.

Imagen: ejecución real, almacenes en memoria y datos neutralizados. Código privado.

Front-end SmartAccess con filtros y tabla de marcaciones de demostraciónAmpliar captura
Hardware e integraciónServicio en uso

SmartAccess

Plataforma de control de acceso y asistencia para lectores HIKVISION. Da de alta usuarios con tarjeta, huella, rostro o PIN, reúne las marcaciones de todos los equipos y automatiza aperturas programadas, la baja de credenciales vencidas y el aviso de un lector sin reportar.

PythonFastAPISQL ServerISAPI
Detalles técnicos

El reto

Gestionar el acceso y la asistencia en varias puertas con lectores HIKVISION cuyo comportamiento real no coincidía con su documentación. Analicé el tráfico de su software oficial para reconstruir el protocolo.

Lo que construí

Un panel con cuatro áreas: marcaciones del día con filtros y exportación; usuarios con tarjeta, huella, rostro o PIN, que se crean en cada lector elegido; dispositivos con estado, sincronización, historial y apertura remota; y automatizaciones como aperturas programadas, altas desde reservas, la purga nocturna de credenciales vencidas y el aviso de un equipo que deja de reportar.

Debajo, un hub central deduplica los eventos, guarda cada descarte con su motivo y extrae el JSON de los cuerpos malformados. Un lector nuevo se registra con un procedimiento almacenado, sin desplegar código.

Imagen: front-end con datos ficticios. La integración está en uso. Código privado.

BuzzBrew: escena de cafetería y negocios en la captura promocional de tienda Ampliar captura
Producto móvilEn Google Play

BuzzBrew

Juego idle para Android con compras integradas, anuncios recompensados y contenido en español e inglés. La partida se guarda en el dispositivo y en la nube con una cuenta opcional, así nadie necesita registrarse para jugar, y las compras están protegidas contra duplicados.

FlutterDartFirebaseGoogle Play
Detalles técnicos

El reto

Convertir un juego en un producto completo: monetización, persistencia, privacidad, pruebas y seguimiento de fallos.

Lo que construí

Servicios separados del bucle de juego, guardado local y en la nube con cuenta opcional, y protección contra compras duplicadas tras detectar un fallo en Crashlytics.

Publicado en Google Play. Arte y música creados con herramientas de IA y edición; créditos detallados en la página del juego.

Página del juego y créditos
Catálogo ReventaBot con cuatro productos procesados y filtros de etiquetadoAmpliar captura
Automatización e IAUso diario

ReventaBot

Recoge productos publicados en Telegram y arma catálogos listos para vender. La visión por IA encuentra el precio en cada imagen aunque cada distribuidora lo coloque en un lugar distinto, y después aplica los márgenes configurados y compone la imagen final.

PythonVisión por IAFlaskCloudflare
Detalles técnicos

El reto

Cada distribuidora coloca precios y especificaciones en lugares distintos, así que un recorte fijo no sirve para todas.

Lo que construí

La IA devuelve el precio y sus coordenadas; Pillow compone las etiquetas. El sistema agrupa fotos por producto y aplica márgenes configurables. El panel se opera en un VPS detrás de Cloudflare Tunnel y Access.

Imagen: panel real, catálogo y distribuidora de demostración. Código privado.

Clientools: resultado real de eliminar el fondo de una fotografía de un perroAmpliar captura
Herramientas webFuncional, sin desplegar

Clientools

23 herramientas de imagen, PDF, GIF y utilidades que funcionan en el navegador con WebAssembly, Canvas y Web Workers. Los archivos se procesan en el dispositivo del usuario y nunca se suben, lo que protege su privacidad y le ahorra ese trabajo al servidor.

AstroTypeScriptWebAssemblyWorkers
Detalles técnicos

El reto

Un VPS de un núcleo y 2 GB de RAM no podía asumir el procesamiento de archivos de los visitantes.

Lo que construí

Moví el cómputo al dispositivo del usuario: el sitio bilingüe es estático y las herramientas descargan sus motores, pero no suben los archivos que procesan.

Imagen: resultado real en la compilación local. Construido y funcional; aún no está desplegado. Foto de muestra: Pexels #27791537.

También en mi mesa

CRM Tienda

Inventario, ventas a crédito y cobranza. Cuotas, abonos parciales y recordatorios redactados según el saldo y el vencimiento.

Desarrollo individual
FastAPI / SQLAlchemy / Jinja2
Funcional, código privado

Caballero de Nadie

Juego narrativo 2.5D. Un caballero despierta sin memoria en un pueblo que él mismo destruyó. Sistemas iniciales de combate, impacto y control del jugador.

Diseño y programación
Unity 6 / C#
En desarrollo temprano

Decisiones que siguen
funcionando después.

El permiso vive en el sistema.

Control de acceso, firma de tokens y auditoría para conectar servicios con límites claros.

MCP para ERP

Los casos difíciles cuentan.

Duplicados, cuerpos malformados y descartes explicables forman parte del diseño.

SmartAccess

La restricción orienta la solución.

Un servidor pequeño llevó a procesar archivos en el navegador y a proteger la privacidad desde la arquitectura.

Clientools

SpartanDev

Joaquín Cabrera.

Desarrollador de software

Trabajo entre sistemas de negocio y productos propios. Me interesa entender cómo se conectan las piezas: los datos, los permisos, el dispositivo y la experiencia de quien lo utiliza.

En este portafolio reúno mi contribución a plataformas privadas y proyectos que he construido de forma individual, con el estado de cada uno a la vista.

Cuéntame qué
necesitas construir.

sptndev@gmail.com