¡La página web que más tiempo me ha ahorrado! Para mis páginas web, normalmente, creo tres versiones para cada imagen, una para móvil, una para tableta y una para escritorio o portátil. Esto me permite asegurarme que las imágenes se ven bien en cualquier dispositivo sin ocupar demasiado espacio, pero optimizarlas una a una era muy lento. Esta página me permitió optimizar las imágenes de manera mucho más rápida y eficiente, en un solo clic puedo optimizar las tres versiones.
Crear algo que fuera rápido y fácil de usar era esencial, ya que es una herramienta que usaría muy a menudo. También hacía falta poder preparar cada versión antes de descargarla, para configurar los tamaños, nombres y la calidad de la compresión. Por último, quería una herramienta que trabajara en local, no quería depender de un servidor para crear la nueva imagen, lo necesitaba todo en local por si en cualquier momento perdía la conexión.
Yo y mi entorno, queríamos ver la situación de las líneas R1, RG1 y R11 de Cercanías en un mapa, ver todos los trenes con problemas situados en un mapa. Esto llevó a crear una web más útil de lo que pensaba. Ahora informa de la posición actual, si se está moviendo o está parado, tiempo de llegada, problemas en las infraestructuras, etc. Todo esto usando los datos de Renfe.
Poder gestionar toda la información que hay al respecto es un poco complicado. Tuve que crear un Scrapper, junto con rutas que dan archivos JSON, para obtener los datos. También hacía falta actualizar los datos cada poco tiempo, ya que la situación de los trenes cambia muy rápidamente. Los datos de las estaciones, líneas de trenes, horarios, etc. están guardados en archivos enormes, muy poco eficientes para hacer búsquedas. Viendo este problema, creé diferentes scripts para poder filtrar toda esta información y gestionar muchas cachés para mis propias APIs, que daban la información ya procesada y preparada para ser mostrada en la web. Todo está en un documento llamado RESOURCES.md dentro del repositorio. Actualmente, todavía está el reto de que, cada cierto tiempo, Renfe decide modificar horarios y rutas, esto comporta volver a descargar manualmente un .zip para Scrappear nueva información que complemente la que se obtiene de los JSON.
Como autónomo trabajo con diferentes inmobiliarias, y cada una tenía un panel de gestión diferente para las propiedades, reservas, etc. Decidí crear un panel de gestión propio para ofrecer un servicio más completo a mis clientes. Este panel permite gestionar las propiedades, localizaciones, blogs para la web y todo lo que pidan. También tiene integrado un script que creé para subir las imágenes y que el panel las optimice automáticamente, así los clientes no tienen que preocuparse por subir imágenes grandes y poco optimizadas. Además, se pueden crear diferentes usuarios con diferentes permisos, para que los clientes puedan dar acceso a diferentes personas.
Quería crear algo que fuera fácil de usar para mis clientes y fácil de personalizar por si querían añadir funcionalidades específicas. También hacía falta que fuera rápido y eficiente, ya que es una herramienta que se usa muy a menudo. Lo más importante, quería que fuera útil, que ahorrase tiempo a los clientes a la vez que ayude a ver el contenido claro a los usuarios finales. Por último, tiene que ser un sistema seguro para el mundo exterior.
Página web para el TFG de un amigo. Tiene como funcionalidad base las Viewtransitions para hacer las transiciones entre páginas más fluidas y agradables. Tiene un diseño muy sencillo, para hacerla más accesible y fácil de usar para el público al que va dirigido.
Necesitábamos una web orientada a móvil, ya que es una extensión de un folleto que se da y el acceso principal a la web es a través de un QR. Queríamos una web fácil de usar y que permitiera a los usuarios acceder a la información de manera rápida y sencilla. También teníamos la idea de crear una web con Viewtransitions, para poder hacer las transiciones entre páginas más agradables y fluidas.
Console Pong es un juego clásico recreado en la terminal usando Node.js. Presenta controles simples y una experiencia de juego para dos personas. Más adelante lo quiero actualizar para añadir multijugador a través de Sockets.
El reto estaba en poder hacer funcionar un juego interactivo en la misma terminal. Teniendo en cuenta a los dos jugadores, hace falta asegurarse de que las entradas del teclado se procesen correctamente y que el juego sea fluido. También hay que limpiar la terminal para imprimir el tablero de una manera más clara y no un fotograma debajo del otro.
En casa tenemos el problema de compartir una caldera para dos casas. Cuando los de la casa de abajo se duchan, los de arriba no tienen agua caliente. Para avisar que nos duchábamos, y no quitarle el agua caliente a nadie, avisábamos por WhatsApp. Esto era un poco enrevesado, ya que tenías que avisar al entrar y al salir de la ducha. Decidí crear esta Web App para poder facilitar la comunicación. Podemos poner el tiempo que estaremos duchándonos y así no tenemos que avisar cuando acabamos. También tiene una línea del tiempo para ver las horas más comunes para ducharse y así poder evitarlas. Gracias a esta aplicación, hemos podido mejorar la convivencia de una manera muy sencilla y eficiente.
Crear una aplicación que fuera fácil de usar y que permitiera una comunicación clara entre las dos casas fue uno de los principales retos. Ahorrar el máximo tiempo posible, ya que es una aplicación que se usa muy a menudo, era esencial. También hacía falta asegurarse de que la aplicación fuera accesible desde cualquier dispositivo. Creé una PWA para guardarla en móvil, ya que es el dispositivo más utilizado para este tipo de comunicación.
Una app para la terminal que te da opiniones de tus entrenamientos. Le envías tu entrenamiento en .tcx y el modelo de IA que tú elijas lo analizará para darte una opinión y siguientes pasos. Usa Ollama para cargar los modelos en local y así tus datos no salen de tu ordenador. La creé para probar un poquito el mundo de los modelos en local y las APIs que ofrecen tanto Ollama como las compañías más importantes. También quería crear una app que pudiera ser útil para mí. En el futuro quiero habilitar la conexión con Strava para poder leer los entrenamientos directamente, y así no tener que descargar ningún archivo.
El problema principal ha sido mi ordenador, ya que no es muy potente para modelos en local. Para ahorrar recursos, obtengo los datos del archivo con un script de JS y los preparo para enviarlos. Las medias cardíacas, velocidades, etc. las calculo yo mismo y solo envío los datos más importantes al modelo para que me analice el entrenamiento. Es un proyecto que me gustaría seguir desarrollando y mejorando, ya que creo que tiene mucho potencial para personas que quieren analizar sus entrenamientos de manera más detallada.
Figma, herramienta de diseño de interfaces y prototipado colaborativo en línea. Todas mis webs están diseñadas previamente con esta herramienta.
Affinity, editor de imágenes profesional para diseño gráfico, retoque fotográfico e ilustración.
Photopea, editor de imágenes en línea, similar a Affinity, para edición rápida y avanzada.
GSAP, librería de animaciones y transiciones en JavaScript, todas las animaciones de esta página están hechas con esta herramienta.
Davinci Resolve, programa de edición de vídeo, efectos, optimización, etc.
-> ~ cat freelance/DESCRIPCIÓN.txt
Creo proyectos 100% personalizados para cada cliente. Trabajo desde el diseño hasta el despliegue final. Adapto cada desarrollo a las necesidades de los proyectos para garantizar un perfecto funcionamiento y una experiencia de usuario excepcional. Me mantengo cerca de los clientes para entender sus necesidades y ofrecer la mejor solución.
-> ~ cat freelance/PROYECTOS.txt
# MÁS Real Estate
Web dedicada al alquiler, compra e inversión de viviendas de lujo. Desarrollada para una empresa inmobiliaria especializada en propiedades exclusivas, esta plataforma ofrece a los usuarios una experiencia sofisticada y eficiente para encontrar y gestionar casas de alto standing. Además, integra una interfaz administrativa intuitiva que permite al equipo de la inmobiliaria gestionar fácilmente el contenido. Todo esto con un diseño elegante y adaptado a dispositivos móviles.
Ver proyecto en: https://masrealestate.es/
# Casa Minimax
Rediseño y desarrollo completo del sitio web, con actualización de estilo y estructura para alinear su presencia online con los objetivos de la empresa. También me encargué de mejoras en el SEO y la optimización de la experiencia del usuario, asegurando que el sitio sea más atractivo y funcional para los visitantes interesados en sus servicios de construcción de casas a medida.
Ver proyecto en: https://minimax.cat/
# Casas con Encanto Formentera
Con el objetivo de aumentar la visibilidad de sus propiedades de alquiler. El sitio facilita la búsqueda y contacto para aquellos interesados en alquilar casas exclusivas en la isla. Con un diseño moderno y optimizado, la web ofrece una experiencia agradable en los diferentes dispositivos.
Ver proyecto en: https://casasconencantoformentera.com/
# La Maison Llavaneres, S.L.
Rediseño completo de la web e integración del CRM Inmovilla para que el catálogo de propiedades se alimente automáticamente sin necesidad de cambiar su CRM. El nuevo diseño es más claro y representa mejor la identidad de la empresa, y la sincronización con Inmovilla garantiza que el catálogo permanezca actualizado respetando los flujos existentes.
Ver proyecto en: https://www.lamaisonbcn.com/
# Setiar
Rediseño de la web e integración del CRM Inmovilla para que el catálogo de propiedades se alimente automáticamente sin necesidad de cambiar de CRM. El nuevo diseño es más claro y potencia la visibilidad de sus propiedades adaptándose a sus necesidades.
Ver proyecto en: https://www.setiar.com/
# Canet Park
Landing page para una obra nueva del grupo AIAM en Canet de Mar. Esta página web necesitaba un diseño atractivo y moderno que reflejara la calidad y el estilo de vida que ofrece el proyecto inmobiliario. Con un enfoque en la usabilidad y la experiencia del usuario, la web presenta de manera clara y visual algunas de las características de las viviendas y las zonas comunes, facilitando así la captación de potenciales compradores interesados en esta promoción exclusiva.
Ver proyecto en: https://aiam.cat/canetpark/
-> ~
-> ~ cat devinet/DESCRIPCIÓN.txt
Mi trabajo principal era presentar soluciones y aplicarlas según las preferencias de los clientes, trabajando siempre en estrecha colaboración con ellos para asegurar que sus necesidades se cumplieran. Más adelante diseñé y desarrollé la nueva herramienta interna para controlar el Workflow de ventas. También trabajé con equipos extranjeros para desarrollar una de las principales funcionalidades de uno de los proyectos en los que trabajaba.
-> ~ cat devinet/PROYECTOS.txt
# Schneider Electric
Durante mi etapa en Devinet, formé parte del equipo de soporte técnico internacional para tres herramientas de gestión interna de Schneider Electric. Además de mantener las plataformas existentes, también colaboramos en el desarrollo de nuevas soluciones para optimizar su flujo de trabajo y mejorar la interacción con los clientes.
-> ~
-> ~ cat iswolk/DESCRIPCIÓN.txt
Aquí aprendí las bases en el mundo web. Mi trabajo principal era mantener y mejorar páginas existentes.
-> ~