Portafolio

Trabajos seleccionados, entregados y en curso

Trabajo para clientes y productos propios en las dos líneas de servicio: proyectos web, desde catálogos de una sola página hasta despacho en tiempo real, y los encargos de gestión contable que llevo en paralelo. Casi todo el trabajo web es bilingüe y opera con presupuestos donde una factura recurrente de API en dólares hundiría el proyecto, lo cual condiciona las decisiones técnicas más que cualquier otra cosa.

Omito los nombres de los clientes cuando aún no tengo su autorización por escrito. Con gusto explico cualquiera de estos proyectos en detalle, incluidas las partes que no funcionaron.

En desarrollo

2 proyectos

Sistema de despacho para una asociación de taxistas

En desarrollo

2026 · Santa Cruz de la Sierra, Bolivia

Una asociación de 25 vehículos que coordina cada carrera por grupos de WhatsApp, sustituyendo eso por una plataforma de despacho real.

Problema
La coordinación por voz y mensajes no escala, no deja registro de quién tomó cada carrera y no permite a la asociación acreditar qué unidad recogió a un pasajero.
Enfoque
Localización de vehículos mediante los propios teléfonos de los choferes en lugar de rastreadores dedicados, lo que elimina el costo de hardware por unidad. Un motor de asignación configurable con cuatro métodos —manual, difusión con toma, unidad más cercana y FIFO por zona— para que la asociación elija el que corresponda a su forma de trabajar. Teselas de mapa autoalojadas con PMTiles en lugar de una API comercial, manteniendo el costo mensual en torno al precio de un tanque de combustible en vez de una suscripción facturada en dólares.
Estado actual
Plan técnico completo. Maqueta funcional en construcción, con una prueba técnica aparte para validar la geolocalización en segundo plano en teléfonos Android de gama baja, el mayor riesgo técnico del proyecto.
Node.jsPostgreSQLPostGIS MapLibrePMTilesWebSocket AndroidEspañol

Separador de IVA en recibos para pequeñas empresas del Reino Unido

Producto propio · en validación

2026 · Reino Unido

Una herramienta que separa los recibos de supermercado con tasas mixtas en sus categorías correctas de IVA: un problema que enfrento cada semana en mi propia contabilidad.

Problema
Un solo recibo de supermercado mezcla habitualmente artículos con tasa general, tasa cero y tasa reducida. Separarlos a mano es lento y propenso a errores, y equivocarse distorsiona silenciosamente la declaración de IVA.
Enfoque
Una base de datos de productos vinculada a su tratamiento de IVA, con una herramienta web ligera que exporta un asiento listo para importar. Deliberadamente secuenciado con validación primero —escucha en comunidades, luego un recurso gratuito, luego un punto de decisión— en lugar de construir asumiendo que el problema merece pago.
Estado actual
Problema validado, base de datos de productos y modelo de precios esbozados, stack elegido. Aún no construido: primero el punto de decisión.
SvelteKitCloudflare PagesUK VATExcel

Entregados

3 proyectos

Sitio web y sistema de reservas para un restaurante italiano

Entregado

2025–2026 · Putney, Londres · ostunirestaurant.com ↗

Un restaurante de barrio que gestiona sus propias reservas, en lugar de pasar cada mesa por una plataforma que cobra comisión por comensal.

Problema
Las reservas llegaban por teléfono en plena hora de servicio y a través de una plataforma que cobra comisión, de modo que el restaurante pagaba por comensal en mesas que ya se había ganado y no conservaba registro alguno de sus propios clientes.
Enfoque
Un flujo de reserva en cinco pasos —fecha, franja horaria, preferencia de sala, datos del comensal y confirmación— sobre Supabase, con una vista de administración para el equipo de sala. Google Places y Reviews se consultan en vivo para que el horario y las valoraciones nunca queden desactualizados. Construido como HTML plano con Tailwind y pequeños componentes en JavaScript sin framework, para que alguien sin perfil técnico pueda editar la carta sin un proceso de compilación, y empaquetado como PWA instalable.
Estado actual
En producción. Sitio completo de varias páginas —carta, eventos, reservas, contacto y avisos legales— con datos estructurados en todo el sitio, y una estructura de componentes deliberadamente sencilla para que la entrega no exija tener un desarrollador en nómina.
Tailwind CSSSupabaseVanilla JS Google Places APISchema.orgPWA

Sitio web para una empresa de fontanería

Entregado

2026 · Valencia, España

Una empresa de fontanería sin nada propio en internet, con un sitio que expone toda la gama de lo que hace.

Problema
El negocio no tenía sitio propio: ninguna forma de exponer el tipo de trabajos que asume y nada a lo que remitir a un posible cliente más allá del boca a boca.
Enfoque
Un sitio comercial sencillo en español, que cubre los servicios de forma equilibrada en lugar de apoyarse en uno solo, con un formulario de contacto que dirige las consultas directamente al propietario. Más adelante lo reconstruí sobre Next.js con Tailwind v4 para mejorar el rendimiento, llevando la gestión del formulario a react-hook-form y zod, y el correo transaccional a Resend para que la entrega sea verificable y no un supuesto.
Resultado
Entregado en español y funcionando en Vercel. La reconstrucción fue una decisión de rendimiento y no un rediseño —mismo contenido, misma estructura, carga más rápida—, conservando la versión original en el repositorio junto a una nota que registra qué cambió y por qué.
Next.js 16Tailwind v4TypeScript ResendzodVercelEspañol

MediMemo — registro de medicación

Producto propio · beta pública

2026 · medimemo-beta.vercel.app ↗

Un registro de medicación que mantiene los datos de salud en el mismo teléfono donde se introdujeron: sin cuenta, sin servidor y sin excepciones.

Problema
Casi todas las aplicaciones de adherencia al tratamiento exigen crear una cuenta, lo que significa que datos de salud rutinarios salen del dispositivo y pasan a ser responsabilidad de un tercero.
Enfoque
Construido íntegramente del lado del cliente. El estado vive en el navegador bajo un esquema versionado para que una actualización nunca descarte el historial existente, los gráficos se generan localmente y un service worker precachea la aplicación para que abra y funcione sin conexión. No hay backend que vulnerar porque no hay backend.
Estado actual
En beta pública. La arquitectura es la decisión de producto: eliminar el servidor eliminó también la analítica, la sincronización y el costo recurrente, y dejó algo genuinamente privado en lugar de algo con política de privacidad.
PWAService workersES6 modules Chart.jsOffline-firstVercel

En curso

2 proyectos

Plataforma web de una radio FM

En curso

2026 · Santa Cruz de la Sierra, Bolivia · stereo97.com ↗

Mantenimiento de la plataforma web de una emisora consolidada, con una enorme audiencia social y comparativamente poca audiencia propia.

Alcance
Mantener al día el contenido, las integraciones y la documentación técnica del sitio de la emisora, trabajando de forma bilingüe con equipos internos y proveedores externos en dos husos horarios.
Enfoque
El problema estratégico es que una audiencia social alquilada convierte mal en audiencia propia. Elaboré un análisis de la presencia pública de la emisora y tres enfoques alternativos de landing: uno centrado en el reproductor en vivo, otro en los locutores como activo de marca infrautilizado, y otro en una puerta comercial visible para anunciantes, que es donde está el ingreso real.
Next.jsApp RouterSupabase Streaming embedContent opsEspañol

Sitio web de una liga de fútbol sala de Londres

En curso

2020–2026 · Londres, Reino Unido · londonfutsalleague.com ↗

Una liga comunitaria de fútbol sala repartida en varias sedes de Londres: seis años de trabajo continuo sobre un mismo código.

Alcance
Inscripción de equipos y jugadores, clasificaciones, resultados y calendario, galerías multimedia e información de sedes, mantenidos al día temporada tras temporada.
Enfoque
Eleventy con plantillas Nunjucks y sin framework de frontend. Las clasificaciones y el calendario son archivos de datos renderizados en tiempo de compilación, así que actualizar una jornada es editar datos y no arriesgar un despliegue, algo que importa cuando quien lo actualiza es un voluntario un domingo por la noche. CSS procesado con PostCSS, JavaScript minificado con Terser, e instalable como PWA para quien consulta el calendario a pie de pista.
EleventyNunjucksPostCSS Vanilla JSPWAStatic hosting

Trabajos anteriores

Desarrollo web independiente

Varios

Reino Unido / Bolivia

Aplicaciones web para pequeñas empresas y clientes de medios, llevadas en solitario desde los requisitos hasta la entrega.

Alcance
Aplicaciones de una sola página, service workers para funcionamiento fiable sin conexión en redes deficientes, y conciliación de datos entre sistemas e integraciones de terceros: el mismo rigor que aplico a los libros, aplicado a los datos.
JavaScriptNode.jsHTML & CSS SPAsService workers

Contabilidad

3 encargos

Función financiera de un restaurante en Londres

En curso

Reino Unido · Sociedad limitada

Responsable único de la contabilidad de un negocio de hostelería, desde la recaudación diaria hasta la preparación de la declaración de IVA.

Alcance
Captura y codificación diaria de transacciones, conciliación bancaria y de pagos por lote, asientos de nómina y declaraciones de IVA, incluida la prorrata de tasas mixtas.
Enfoque
Las propinas se registran en una cuenta de pasivo en lugar de mezclarse con los ingresos, y las liquidaciones de tarjeta se concilian contra los reportes del punto de venta para que ambas nunca se separen en silencio: la diferencia entre unos libros que cuadran y unos libros que simplemente se cierran.
XeroHubdocEpos Now Evo PaymentsIVA Reino UnidoSociedad limitada

Contabilidad para una empresa de limpieza doméstica

En curso

Reino Unido · Autónomo

Libros de un autónomo que presta servicios de limpieza a domicilios particulares.

Alcance
Captura y clasificación de transacciones, conciliación bancaria y libros al día mes a mes, en lugar de montarlos a última hora al cierre del ejercicio.
Enfoque
Configurado en QuickBooks Online para que el propio dueño emita facturas y capture recibos desde el móvil entre servicios, que es la única forma de que los registros se mantengan al día en un negocio llevado en solitario.
QuickBooks OnlineAutónomoConciliación bancaria

Contabilidad para un servicio de acompañamiento y cuidado de personas mayores

En curso

Reino Unido · Autónomo

Libros de un autónomo que ofrece acompañamiento, cuidado y tareas domésticas a personas mayores en sus propios hogares.

Alcance
Contabilidad del día a día sobre la misma base de QuickBooks Online: registro de ingresos y gastos, conciliación bancaria y un conjunto de registros ordenado y listo para el cierre del ejercicio.
Enfoque
El plan de cuentas mantiene separadas las horas de cuidado y las de tareas domésticas, de modo que ambas partes del trabajo puedan leerse por separado y no promediadas en una sola cifra.
QuickBooks OnlineAutónomoPlan de cuentas

¿Tiene algo similar en mente?

Si está evaluando si un proyecto vale la pena construirlo, esa es una conversación útil antes de que nadie escriba código. Si creo que la respuesta es no, se lo diré.

Enviar un correo Volver al inicio

Escribir un mensaje

Sus datos se usan únicamente para responder a esta consulta. No se almacena nada en este sitio ni se comparte con terceros. Privacidad