Production-oriented Backend Engineer
APIs, integrations, automation, and observable systems.
No simulated data. No toy projects. Real systems with real constraints.
Live Event Stream
SSE · .NET 8 · PostgreSQL
Connecting…
Showing 0 / 0 events
DB snapshot + replay + ready-to-run commands.
EVENTS / MIN
0
last 60s
AVG LATENCY
—
received → completed
P95 LATENCY
—
rolling
IN-FLIGHT
0
filtered view
Real-time backend demo
This panel shows a real event pipeline using .NET + SSE.
- ① Click “Generate burst” to emit demo events
- ② Use “Load recent (DB)” to load persisted events
- ③ Use “Replay (SSE)” to re-emit them in real time
Everything you see here is real backend behavior, not mock data.
Waiting for events...
View payload
DLQ: 0
History
SSE: /api/v1/demo/stream
Projects
Real-world, production-minded work. System design, integrations, and automation.
TopSec — Operations, customers & thermal tickets
Real system for a dry-cleaning/laundry business: customers, orders, traceable workflow and thermal printing. Built for daily operations and reliability.
Flutter DesktopNode.jsExpressMySQLREST APIESC/POSWhatsApp WebLocal-firstEvent Sync
Problem
Manual operations and unreliable tracking: delivery mistakes, slow front-desk flow, and the need for consistent physical tickets.
Solution
Desktop workflow + backend with persistence and traceable states. Clear operational flow and integrated printing for real-world usage.
Impact
Fewer operational errors, faster service, and a foundation ready for automation (WhatsApp), metrics and web sync.
Arquitectura
Usuario Final
Empleado · PC Windows
→
Flutter Desktop App
Gestión · Impresión · Estadísticas
→
Node.js + Express
REST API local · Lógica de negocio
MySQL (Local)
Persistencia · Clientes · Entregas · Estadísticas
↓
Sync / Push a Web (HTTPS)
Envía eventos/estadísticas a una API remota
↓
Web API
Recibe eventos · Guarda histórico
→
BD Web (Persistente)
Datos disponibles aunque el PC esté apagado
Dashboard Web
Estadísticas online 24/7 (sin depender de la app)
↓
Impresora Térmica POS
ESC/POS · Tickets · Facturas
↓
WhatsApp Web
Mensaje al cliente (sin API externa)
Next evolution (production-ready)
Reliable Web Sync (offline-first)
Local outbox pattern in MySQL: every action (clients, deliveries, sales) is stored and retried until successfully pushed to the Web API. Ensures no data loss when the PC is offline or the web service is unavailable.
Idempotency + deduplication (Sync API)
Generate an eventId/operationId per action and send it to the Web API. Enforce UNIQUE constraints on the web database to prevent duplicated records during retries.
Retries with backoff + persisted failures
Exponential retry strategy with persisted failure records (sync_failures table), including payload, error reason, and retry count. Manual resend or discard from an internal admin view.
Sync API security
API Key or JWT-based authentication for PC→Web communication, request signing, schema validation, and rate limiting per store/installation.
Operational observability (app + local backend + sync)
Structured logging in Node.js (pino/winston), eventId correlation, basic metrics (sync duration, error rate, pending queue), and a health screen (DB, printer, web API connectivity).
Complete deliveries workflow
Real 'Deliver Garments' module: search by delivery number or client, update status, paid/unpaid handling, reprint tickets/invoices, and WhatsApp notification from the same screen.
User roles and audit trail
Local authentication (PIN/user) with roles (admin/operator) and full audit logging: who created or modified clients, deliveries, payments, and print actions.
Robust printing pipeline
Print job queue with retries if the printer fails, configurable ESC/POS templates (logos, headers), and optional preview before printing.
Windows distribution and updates
Installer packaging with auto-update support (MSIX/Inno Setup + release endpoint), semantic versioning, and controlled MySQL schema migrations on startup.