AutoFirma
Diseño con Empatía: Explorando el Vibe Coding para una Experiencia de Usuario mejorada

Table of Contents

1. Humanizando AutoFirma mediante Vibe Coding (con Antigravity)

Hace un tiempo realicé modificaciones de forma manual sobre la aplicación AutoFirma para hacerla más usable. Ahora voy a intentar realizar esos cambios pero usando vibe coding, en concreto usando antigravity. Esto muestra grandes posibilidades para adaptar aplicaciones, que sean de código abierto, a nuestras necesidades.

1.1. Clonar el proyecto

En primer lugar, clonamos el proyecto con el código fuente:

git clone https://github.com/ctt-gob-es/clienteafirma/

Compruebo en la página de AutoFirma cuál es la última versión, y hago un checkout de ese tag:

cd clienteafirma
git checkout v1.9_RC

Cambio al directorio donde está el fuente que vamos a modificar y lanzo antigravity:

cd afirma-simple
antigravity .

1.2. Modificación del código mediante prompts

Ahora vamos a ir solicitando los cambios que queremos que realice antigravity en el proyecto.

El primero de ellos es que haga más grande (para humanos) el panel donde se muestra dónde queremos colocar la firma:

Este proyecto es una aplicación Java para firmar digitalmente PDFs. El problema es que el panel donde se muestra el PDF a fin de seleccionar dónde se coloca la firma es muy pequeño. Analiza qué cambios habría que hacer para que fuese más grande.

El segundo de ellos, es que en lugar de poner signed en el nombre del PDF que genera, que ponga mis iniciales (cambia XXX por lo que consideres):

También quiero el sufijo XXX en lugar del actual, signed, en el nombre del PDF generado con la firma.

Solicito también que cambie la versión de una de las dependencias (ya que al generar el jar me ha dado un error). Esto lo hago con antigravity por comodidad, lo podría cambiar a mano.

Cambia la versión 1.6.1-SNAPSHOT de la dependencia de Java Websocket por la versión 1.6.0 en el pom.xml

Acepto los cambios que propone.

1.3. Generar la aplicación en un contenedor con Maven

Ahora vamos a generar el fichero jar usando un contenedor con Maven. Lanzo el contenedor y monto el directorio con el proyecto clonado (que tiene los cambios realizados):

docker run --name afirma --rm -it -v ./clienteafirma/:/app maven:3.9.12-eclipse-temurin-21-alpine /bin/bash

En la shell del contenedor ejecutamos:

cd /app
mvn clean install -DskipTests
mvn clean install -Denv=install -DskipTests

Copiamos, el jar generado, desde el contenedor a un directorio de nuestro sistema:

docker cp afirma:/app/afirma-simple/target/autofirma.jar MiAutoFirma.jar

Probamos la aplicación:

java -Djdk.tls.maxHandshakeMessageSize=50000 -jar MiAutoFirma.jar

Finalmente, habría que sustituir el jar original por el que hemos generado (en Linux el jar está en /usr/lib/AutoFirma/).

1.4. La comparación

Esta es una captura de la versión original:

31-01-2026_16-35-00_2024_07_26_autofirma.png

Esta es la versión modificada:

31-01-2026_16-37-37_2024_07_26_autofirma.png

Como se puede observar, hemos pasado de una escala del 48% a una escala de 66%. Hemos conseguido hacer más usable esta aplicación en unos minutos.

Author: Juan Gutiérrez

Created: 2026-01-31 sáb 19:25

Validate