Nelson Madrid

Desarrollador web · Tegucigalpa, Honduras · Remoto Web developer · Tegucigalpa, Honduras · Remote

Construyoy sostengo. I build itand run it.

Sistemas de gestión para clínicas y colegios. Los hago completos — modelo de datos, reglas de seguridad, interfaz y despliegue — y después los mantengo. Management systems for clinics and schools. I build them end to end — data model, security rules, interface and deployment — and then I keep them running.

DisponibilidadAvailability
Abierto a remotoOpen to remote
InglésEnglish
C2 — EF SET (verificable)(verifiable)
Zona horariaTime zone
UTC−6 · CST
AlcanceScope
4 sistemas completos4 complete systems
01 — 03

Trabajo seleccionadoSelected work

01

Odontia

SaaS dental multi-inquilino · desplegado Multi-tenant dental SaaS · deployed

Gestión completa de una clínica dental: pacientes, odontograma, agenda, cotizaciones y documentos. Desplegado y en evaluación con una odontóloga. Runs a dental practice end to end: patients, dental chart, scheduling, quotes and documents. Deployed and under evaluation with a dentist.

JavaScriptFirestoreFirebase AuthPWACloudflare Pages
El problema difícilThe hard part

Aislar decenas de clínicas dentro de un solo proyecto de Firebase. Las reglas de Firestore son la única frontera: una clínica sin documento roles es invisible por defecto, y una asistente no puede ascenderse a propietaria porque la regla excluye justo ese documento — ajuste != 'roles'. Isolating dozens of clinics inside one Firebase project. The Firestore rules are the only boundary: a clinic with no roles document is invisible by default, and an assistant can't promote herself to owner because the rule excludes that exact document — ajuste != 'roles'.

Los pacientes confirman su cita sin iniciar sesión y sin poder leer la agenda: un espejo indexado por token expone solo fecha, hora y estado — nunca el nombre ni el motivo. Patients confirm appointments without logging in and without ever reading the schedule: a token-keyed mirror exposes only date, time and status — never the name or the reason.

odontia-demo.pages.dev
Panel de Odontia: agenda del día, contadores de citas y pacientes.
02

Medika

Consultorios médicos · mismo motor, otro núcleo clínico Medical practices · same engine, different clinical core

El odontograma se reemplaza por signos vitales, notas SOAP y codificación CIE-10. El resto del motor —agenda, expedientes, documentos— es el mismo. The dental chart is replaced by vitals, SOAP notes and ICD-10 coding. The rest of the engine — scheduling, records, documents — is shared.

JavaScriptFirestorePWACIE-10 / ICD-10
El problema difícilThe hard part

White-label de verdad. Un solo archivo de configuración cambia identidad, marca, horarios, módulos visibles y tarifario — sin tocar una línea del sistema. La captura de al lado y la de arriba son el mismo código base. Real white-labeling. A single config file changes identity, branding, working hours, visible modules and pricing — without touching a line of the system. The screenshot here and the one above are the same codebase.

medika-demo.pages.dev
Panel de Medika con la misma estructura que Odontia pero marca propia.
03

Centia

Proyecto personal · PWA de finanzas, mobile-first Personal project · mobile-first finance PWA

Registrar un gasto en dos toques. Presupuestos con proyección, metas, pagos recurrentes y gráficas de flujo. Log an expense in two taps. Forecasting budgets, savings goals, recurring payments and cash-flow charts.

JavaScriptCanvas 2DService WorkerFirestore
El problema difícilThe hard part

Gráficas sin ninguna librería: 173 líneas de canvas que ajustan al devicePixelRatio para verse nítidas en pantallas retina, respetan prefers-reduced-motion y aplican el glow solo en el último frame en vez de repintar sombras en cada cuadro de la animación. Charts with no library at all: 173 lines of canvas that scale to devicePixelRatio so they stay sharp on retina screens, honour prefers-reduced-motion, and apply the glow only on the final frame instead of repainting shadows on every animation frame.

centia-demo-71y.pages.dev
Centia Captura pendiente — la demo ya es navegable. Screenshot pending — the demo is already live.
04

Un cuarto sistemaA fourth system

Escolia

Sistema de gestión escolar construido para un colegio en Honduras: portal de notas, excusas de ausencia y permisos de salida. Desplegado y funcional. School management system built for a school in Honduras: grade portal, absence notes and exit permissions. Deployed and working.

La arquitectura: el backend son 1,045 líneas de Google Apps Script sobre Sheets, expuestas como API. Sin servidor que mantener y con los datos en una hoja de cálculo que el colegio puede abrir directamente. The architecture: the backend is 1,045 lines of Google Apps Script over Sheets, exposed as an API. No server to maintain, and the data sits in a spreadsheet the school can open directly.

1,045líneas de backendlines of backend
$0costo de infraestructurainfrastructure cost
2,630líneas en Odontialines in Odontia
105líneas de reglas de seguridadlines of security rules
05

Cómo trabajoHow I work

01

De punta a puntaEnd to end

Modelo de datos, reglas de seguridad, interfaz, despliegue y el soporte de después. Cuando algo falla en el teléfono de un cliente, es mi problema. Data model, security rules, interface, deployment and the support afterwards. When something breaks on a client's phone, it's my problem.

02

Sin dependenciasNo dependencies

Estos sistemas no cargan librerías de terceros: ni framework, ni librería de gráficas, ni paso de compilación. Todo lo que corre es código que puedo explicar y cambiar. These systems load no third-party libraries: no framework, no charting library, no build step. Everything running is code I can explain and change.

03

La seguridad es del servidorSecurity lives server-side

Esconder un botón no es seguridad. Lo que protege los datos son las reglas que corren donde el usuario no llega — y se escriben suponiendo que alguien va a abrir la consola. Hiding a button isn't security. What protects the data are rules running where the user can't reach — written assuming somebody will open the console.

04

BilingüeBilingual

Español nativo, inglés C2 certificado. Escribo documentación y discuto decisiones técnicas en los dos. Native Spanish, certified C2 English. I write documentation and argue technical decisions in both.

Hablemos. Let's talk.

Busco trabajo remoto como desarrollador web. Si algo de acá te sirve, escribime y te contesto el mismo día. I'm looking for remote web development work. If any of this is useful to you, write me and I'll reply the same day.