Proyectos - Rafael García Prieto
ESEN

Proyectos

Proyectos

Productos propios, banca digital, mobile commerce y herramientas internas.

Una selección de productos propios y trabajos representativos, descritos desde el problema que resuelven, el papel que desempeñé y las decisiones técnicas que tomé.

← Volver al inicio

Proyecto personal y familiar

Jucart

Producto, arquitectura frontend y desarrollo asistido por IA

Jucart empezó como una lista de compra privada para sustituir la pizarra de la nevera: añadir productos y tacharlos sin complicaciones. A partir de esa necesidad mínima creció por capas: funcionamiento offline para usarla en el supermercado, Supabase para compartirla entre dispositivos y una bandeja de tickets que Codex procesa para extraer líneas y construir histórico de precios. La herramienta mantiene una interfaz sencilla mientras añade automatización y un histórico de precios.

  • Una necesidad doméstica convertida en producto.
  • Offline first con Dexie e IndexedDB.
  • Sincronización compartida con Supabase.
  • Tickets y precios procesados con Codex.
  • React
  • TypeScript
  • Vite
  • SCSS Modules
  • Dexie
  • Supabase
  • PWA
  • Codex
  • Playwright

Producto social en producción

Bingo Musical

Producto, arquitectura full-stack y experiencia en tiempo real

Aplicación web móvil para organizar partidas presenciales de bingo musical. La persona anfitriona importa canciones desde texto, CSV o Spotify, comparte un código o QR y anuncia cada tema; los jugadores usan cartones digitales en el móvil. Convex mantiene el estado compartido y valida las marcas, la línea y el bingo. Spotify puede controlar la reproducción cuando se conecta una cuenta, aunque la música se reproduce fuera de la aplicación.

  • Experiencias diferenciadas para anfitrión y jugadores.
  • Sala compartida con código de seis caracteres y QR.
  • Cartones deterministas de 3 × 4 y estado autoritativo en Convex.
  • Integración opcional con Spotify para importar y anunciar canciones.
  • Next.js
  • React
  • TypeScript
  • Convex
  • Spotify API
  • Vitest
  • Playwright

Plataforma digital local y comunitaria

Palomares del Campo

Producto, arquitectura full-stack y desarrollo frontend

Sitio editorial y conjunto de experiencias interactivas para Palomares del Campo. Las noticias, los bandos y las rutas se generan como páginas estáticas; Leaflet y OpenStreetMap aportan mapas y recorridos GPX, y las escenas Three.js se cargan bajo demanda con alternativa. Convex proporciona estado remoto para un juego geolocalizado y para moderar propuestas de «Palomareños por el mundo», sin hacer depender el contenido editorial del backend.

  • Contenido editorial estático, independiente de los servicios remotos.
  • Mapas con Leaflet, OpenStreetMap y rutas GPX.
  • Escenas Three.js opcionales con carga bajo demanda y fallback.
  • Juego geolocalizado y propuestas comunitarias con moderación remota.
  • Coordenadas y radios del juego identificados como provisionales.

Producto privado familiar

Irati

Producto, arquitectura y desarrollo asistido por IA

Irati nació cuando nació mi hija: quería dejar de repartir su información entre carpetas, documentos y aplicaciones. Empezó con un perfil, el seguimiento del peso y el calendario de vacunas; después incorporó una checklist de viaje que antes vivía en TickTick. Cuando en el pediatra la conexión dejó de ser suficiente, evolucionó hacia una PWA offline-first. La mayor parte del proyecto se ha construido conversando con Codex, retomando el contexto y avanzando por fases según aparecían nuevas necesidades.

  • Centralizar la información familiar en un solo lugar.
  • Seguimiento de peso y calendario de vacunas.
  • Checklist de viaje integrada desde TickTick.
  • Offline first para usarla también en el pediatra.
  • Next.js
  • React
  • TypeScript
  • Supabase
  • Dexie
  • Serwist
  • Codex
  • Vitest

Producto personal y familiar

Curvas de crecimiento infantiles

Producto, arquitectura frontend y desarrollo

Aplicación web para registrar medidas infantiles y consultar su evolución con referencias de crecimiento de la OMS. Nació como un fork de child-growth-charts y continúa como una herramienta familiar activa, probada con familias cercanas. Los datos se guardan solo en el navegador, sin cuentas ni servidor.

  • Datos locales, sin cuentas ni servidor.
  • Referencias de crecimiento de la OMS.
  • Pruebas continuas con familias cercanas.
  • Fork y continuación de child-growth-charts de Frederik Leonhardt.
  • TypeScript
  • Mithril
  • Chartist
  • Webpack
  • Sass
  • localStorage
  • OMS

Web profesional con CMS

Borch Gómez

Arquitectura frontend, contenido y despliegue

Web profesional para un creador audiovisual, construida con Astro, SCSS y JavaScript vanilla. El proyecto separa contenido, dominio e infraestructura, integra Sanity como CMS opcional y mantiene fallbacks locales para garantizar builds estables y despliegues seguros en Vercel.

Borrador de web profesional

Bárbara Núñez Osteópata

Base técnica, diseño frontend y preparación de despliegue

Borrador de web profesional construida con Astro, TypeScript y SCSS. La base está preparada para despliegue estático en Vercel y contempla SEO técnico, canonical, Open Graph, sitemap, robots, planificación viva y seguimiento del trabajo.

Aplicación móvil de gestión compartida

Loto Sync

Producto, frontend, API y modelo de datos

Aplicación web móvil para gestión compartida de boletos de lotería, grupos, resguardos, resultados y movimientos de bote. Construida con Next.js, TypeScript, Prisma, Postgres y almacenamiento de archivos, con API interna para tickets, resultados, premios y copias de seguridad.

Curso privado multipágina

Preparación al parto

Arquitectura estática, contenido y navegación

Web estática privada para organizar apuntes de preparación al parto como curso multipágina. Construida con Astro y Markdown, genera páginas por lección, una versión agregada para lectura completa y contenido preparado para consulta por LLMs, con navegación progresiva, cabeceras de seguridad y despliegue estático en Vercel.

Aplicación de datos públicos

Gas Price Finder

Frontend, API serverless e integración de datos

Buscador de precios de combustible construido con Svelte y Vite, con API serverless en Vercel, caché diaria en cliente y servidor, arquitectura limpia por capas y soporte instalable. El proyecto integra datos externos y resuelve detalles de comunicación HTTP/TLS con un upstream público.

Herramienta CLI personal

OneDrive File Sync

Integración API, sincronización y automatización local

Herramienta CLI en TypeScript para sincronizar un archivo local con OneDrive usando Microsoft Graph. Diseñada para uso con cron, OAuth local y permisos acotados al App Folder, con una estrategia simple de resolución por última modificación.

  • TypeScript
  • Microsoft Graph
  • OAuth
  • Node.js
  • CLI

Mini webapp mobile first

Kamikazes Events

Frontend, API y persistencia intercambiable

Mini webapp mobile first para votar fechas de eventos, construida con Next.js, TypeScript, React Day Picker y persistencia intercambiable entre Vercel KV y mock local. Incluye API server-only, validaciones, resultados ordenados y una abstracción de almacenamiento sencilla.

  • Next.js
  • TypeScript
  • Vercel KV
  • React Day Picker

Proyecto institucional no finalizado

Ayuntamiento de Belmontejo

Arquitectura web, CMS, automatización y calidad

Propuesta de sitio institucional construida con Astro y Decap CMS. Aunque el proyecto no llegó a salir, dejó una base técnica con contenido administrable, automatización de bandos desde RSS municipal, formularios, despliegue en Vercel y una capa de calidad con ESLint, Prettier, Vitest, Playwright, snapshots visuales, Sonar y hooks de pre-push.

  • Astro
  • TypeScript
  • Decap CMS
  • Playwright
  • Vitest

Proyecto Lit y colaboración

BuyBuddies

Arquitectura frontend, TDD e integración con Google Sheets

Aplicación colaborativa de lista de compra construida con TypeScript, Lit y Material Web Components. Usa Google Sheets como fuente de datos configurable, repositorio mock para desarrollo y un enfoque de arquitectura por dominio, TDD, despliegue en Vercel y observabilidad opcional con Bugsnag.