Trabajo propio

Todo lo que mantengo

Sin forks, sin plantillas y sin proyectos de curso. Solo lo que arranqué yo y sigo tocando —o dejé de tocar a conciencia.

Registro de café
01en producciónrepo privado

Registro de café

Bitácora de extracciones V60 sobre Cloudflare Workers y D1

Método 4:6 de Tetsu Kasuya, una variable por extracción. App y API en el mismo Worker, datos en D1, fotos en R2 y sesión por cookie HttpOnly; y el mismo build, empaquetado como app Android con plugins nativos propios.

  • 330+commits
  • 21migraciones D1
  • 1origen
  • Cloudflare Workers
  • D1
  • R2
  • Nuxt 4
  • Capacitor
  • +3
Editor de fotografías
02en desarrollorepo privado

Editor de fotografías

Editor RAW local: motor FastAPI, interfaz Vue y servidor MCP

Sustituye a Lightroom en mi flujo real: cribar, puntuar y revelar los ARW de la cámara sin tocar jamás el original. El mismo motor lo operan por igual la interfaz y un agente de IA por MCP.

  • 20tools MCP
  • 28endpoints
  • 0RAW modificados
  • Python
  • FastAPI
  • rawpy
  • SQLite
  • Vue 3
  • +2
Tienda de relojes
03en desarrollorepo privado

Tienda de relojes

Crono&Co: Nuxt 4 y Medusa, de la migración al despliegue

Un e-commerce completo: escaparate en Nuxt 4 con SSR sobre Vercel y un backend headless Medusa 2.0 en un VPS, con Postgres gestionado, Redis y CI propio.

  • 700+commits
  • 4capas desplegadas
  • SSRde Vue 3 a Nuxt 4
  • Nuxt 4
  • Vue 3
  • TypeScript
  • Medusa 2.0
  • PostgreSQL
  • +4
Suite para juegos de cartas
04en producciónrepo privado

Suite para juegos de cartas

TCG Suite: de contador de vidas offline a torneos y ligas en directo

Empezó contando vidas en Magic sin red y hoy organiza torneos y ligas en la nube, en directo y hasta 2.048 jugadores, con mazos, colección valorada y búsqueda de cartas. Magic, Riftbound y Lorcana; la partida sigue funcionando sin conexión.

  • 1000+commits
  • 2048jugadores por torneo
  • 7idiomas
  • Vue 3
  • Vite 7
  • Pinia
  • Workbox
  • Cloudflare Workers
  • +5
Mi asistente personal
05en desarrollorepo privado

Mi asistente personal

Agentic OS: un asistente de voz con Claude de cerebro, sobre Home Assistant

Jarvis contesta en el PC y en el móvil: Home Assistant resuelve lo que entiende y Claude todo lo demás. Apunta tareas en la lista de quien habla, pone alarmas y temporizadores, controla la casa y analiza lo que tengo en pantalla.

  • 2dispositivos que escuchan
  • 5teclas de Stream Deck
  • 4frases de análisis
  • Home Assistant
  • Claude API
  • Python
  • FastAPI
  • Node.js
  • +2
Dados 3D a medida
06en producciónrepo privado

Dados 3D a medida

Dicewright: tirador de dados 3D con caras a medida y física real

Del d2 al d20, con caras de número, texto, icono o foto, reglas de rol por set y 32 tapetes con su propia física, sonido y luz. Web instalable, con la app de Google Play preparada, y el azar sacado de un generador criptográfico.

  • 8tipos de dado
  • 32tapetes
  • 120+tests unitarios
  • Vue 3
  • Vite
  • three.js
  • cannon-es
  • Blender
  • +3
Sistemas de trading
07en producciónrepo privado

Sistemas de trading

TWS-Tools: dos sistemas algorítmicos sobre IBKR, en producción

Un motor de scalping EMA en vivo y un port de la estrategia NostalgiaForInfinity a renta variable, con supervisor, backtesting de cartera y una suite de tests que sostiene el conjunto. Migrado de ib_insync a ib_async y validado contra TWS antes de fusionar.

  • 330+módulos Python
  • 140+ficheros de test
  • 850+commits
  • Python
  • ib_async
  • SQLite
  • pandas
  • pytest
  • +2
Tablero de pendientes
08en producciónrepo privado

Tablero de pendientes

TODO Viewer: los pendientes de cada proyecto y las tareas de casa, en una página

Lee los pendientes de todos mis proyectos desde el vault de notas, sin escribir nunca en él, y lleva las tareas de casa en D1 con avisos al móvil y su espejo en Home Assistant. Nuxt 4 en un Worker, detrás de Cloudflare Access.

  • 12proyectos leídos
  • 6listas espejadas
  • 0escrituras en el vault
  • Nuxt 4
  • Cloudflare Workers
  • D1
  • Cloudflare Access
  • Home Assistant
  • +1
Carteles para clubes
09en producciónrepo privado

Carteles para clubes

Generador de carteles para las redes de un club deportivo, instalable y sin backend

Horarios y resultados de cada jornada, partidos destacados y anuncios de jugadores, listos para publicar. Un solo HTML sin framework, datos en el navegador y PWA instalable en móvil y escritorio.

  • 37fondos
  • 0servidores con datos
  • 0frameworks
  • JavaScript
  • Service Worker
  • IndexedDB
  • html2canvas
  • JSZip
  • +2
Mi porfolio
10en producciónrepo privado

Mi porfolio

Esta misma web: CV dinámico en Nuxt 4 con GSAP

Un solo fichero de contenido alimenta tres CV distintos —público, anónimo e interno— y la web entera. Los años de experiencia se calculan, no se escriben.

  • Nuxt 4
  • Vue 3
  • GSAP
  • TypeScript
  • Cloudflare Workers
Corta Fruta VR
11archivadorepo privado

Corta Fruta VR

Fruit Ninja en realidad virtual, con Unity

Juego en Unity y C# inspirado en Fruit Ninja y adaptado a VR. La primera vez que trabajé con espacio tridimensional e interacción física.

  • Unity
  • C#
  • VR