Topics

Aplicación con Claude × desarrollo sin ser ingeniero ① - Crear, probar y ajustar. Un nuevo modo de crear que "hace crecer" una aplicación

  • column

Hoy en día, "crear una aplicación con IA" ya no es algo tan inusual.

Hace poco, la IA se asociaba sobre todo con un "asistente eficiente" que ayudaba a resumir textos o generar ideas, pero últimamente se está convirtiendo en un "compañero de confianza" que puede liderar el propio desarrollo.

Cada vez más miembros de nuestra empresa tienen contacto con la IA, y de ahí surgió la idea de "crear algo yo también", que dio origen a este proyecto de desarrollo de aplicaciones.

Pensábamos en algo útil para el trabajo, pero lo primero que se nos ocurrió fue un tema personal y no profesional.

Últimamente me he aficionado al cine y veo varias películas cada semana, así que he ido anotando en la aplicación de notas del iPhone todas las películas que tengo previsto ver o que me han gustado.

Sin embargo, la lista crecía muy rápido y había muchos títulos parecidos, y con frecuencia me preguntaba: "¿Esta ya la vi?". Al final, la gestión con las notas dejó de funcionar.

Así que decidí crear una herramienta propia, y eso es lo que presento hoy: "Watchlist de películas".

Incluso con indicaciones desordenadas, se puede crear una aplicación que funciona

Cuando se habla de desarrollo con IA, es común pensar que hay que escribir un prompt que desglose hasta el último detalle de los requisitos.

Muchas personas creen que, para que algo funcione de verdad, hay que organizar el contexto y las especificaciones y transmitir todos los requisitos sin omitir nada.

Por supuesto, si es posible entregar el contexto y las especificaciones juntos, es lo mejor. Sin embargo, lo que descubrí al probarlo es que, incluso con instrucciones muy desordenadas, la IA interpreta bien lo que se quiere y lo implementa.

Puede que influyera que se tratara de una aplicación sencilla, pero con un prompt en el que simplemente incluí todo lo que quería hacer, se obtuvo una aplicación que funcionaba sin problemas. Este fue el primer prompt:

Quiero crear una lista de seguimiento de películas.
Como es un prototipo, me gustaría que estuviera contenido en un único archivo HTML y que funcionara al abrirlo directamente en el navegador.
En cuanto a las funciones, quiero poder registrar títulos introduciendo el nombre de la obra y dónde se puede ver (por ejemplo, U-Next, Prime Video), y mostrar los títulos registrados en una lista.
Además, quiero que se pueda marcar la opción de «ya visto».

En el desarrollo tradicional sin IA, incluso una aplicación sencilla consume horas solo en tareas como «pensar la UI», «elegir la tecnología» y «programar». Claude, en cambio, entendió lo que quería en cuestión de minutos y completó con facilidad todo el proceso, desde elegir la UI y las herramientas más adecuadas hasta la implementación.

La velocidad fue tanta que me generó algo más que admiración; llegué a sentir cierto temor.

Con una velocidad así, empiezan a surgir más deseos. Una vez que la base estuvo lista, no dejé de enviar todas las peticiones que se me ocurrían. Los prompts tampoco eran nada elegantes: anotaba en una lista los puntos que me llamaban la atención y simplemente escribía algo como «arregla esto». Con un ingeniero humano, seguramente se molestaría por lo desordenados que eran.

Tras varios intercambios tan informales, el esquema general de la lista de seguimiento quedó terminado sin esfuerzo.
Incluyendo los ajustes finos, el tiempo que tomó tener la primera versión de la aplicación fue de alrededor de una hora.

Implementar en cuanto se te ocurra. Crecer añadiendo cosas poco a poco.

Unos días después de terminar el marco de trabajo, se organizó un espacio en el que cada uno presentaba las aplicaciones que había creado con IA, y tuve la oportunidad de ver los trabajos de los demás miembros. Entre ellos, había alguien que había desarrollado una aplicación que integraba "Gemini Nano".

Al verlo, me di cuenta de que yo también uso Gemini para buscar películas que quiero ver. "Si lo integro en la aplicación, ¿no podría buscar películas a partir de mi lista de seguimiento?", pensé, y al volver a casa retomé el desarrollo de inmediato.

Si fuera con una persona, sería un atrevimiento que te reprocharía por "aumentar las especificaciones por tu cuenta a mitad del desarrollo", pero esto es lo increíble de la IA: lo maneja sin problemas. Implementó la función de búsqueda de películas en solo unos minutos.

Con la función de búsqueda ya funcionando sin problemas, lo siguiente que me preocupó fue la "precisión".

Al principio, la especificación era bastante simple: se basaba solo en el título y el género de las películas de mi lista de seguimiento para recomendar unas cuantas. Por eso, aunque el género coincidiera, a menudo se proponían películas que no encajaban con mis gustos. Probé cambiar a una especificación que seleccionaba películas a partir de las que había marcado como favoritas, entre otras cosas, pero el resultado no cambió.

Pensé que quizá solo con el título y el género había poca información, así que decidí incluir en los datos la sinopsis de cada película. Dicho esto, no quería en absoluto tener que escribir las sinopsis una por una... Después de pensarlo mucho, decidí recurrir de nuevo a la fuerza de la IA.

Lo modifiqué para que "las sinopsis se registren automáticamente a partir de los títulos introducidos en la lista". Para garantizar la precisión de las sinopsis, pedí a Claude que escribiera el código que obtiene la información correspondiente a partir del título registrado usando la API de Wikipedia y que, con esa base, la IA genere las sinopsis automáticamente.

Sinceramente, todavía quedan algunas imprecisiones, y estoy considerando actualizar a una integración con la API de TMDB. Dicho esto, he llegado a un nivel en el que "los pequeños errores se pueden pasar por alto". Los ajustes finos en conjunto me llevaron unas 2 o 3 horas.

Por cierto, cuando más tarde quise usarla en un dispositivo real, parecía que Gemini Nano no estaba disponible, así que finalmente cambié a la API de Gemini. El plan gratuito tiene un límite de solicitudes, pero permite usar un modelo mejor que Gemini Nano, así que la precisión mejoró notablemente.

Una breve presentación de la aplicación terminada

Aunque la fuimos moldeando sobre la marcha, a fuerza de usarla y mejorarla, lo cierto es que esta aplicación ha acabado reuniendo todas estas funciones.

【Lista de seguimiento】

  • Registro de títulos de películas, géneros, servicios de streaming y sinopsis
  • "Generación automática de sinopsis" mediante diversas APIs
  • Casilla para alternar entre "Pendiente / Vista"
  • Filtrado por género, favoritos y estado de visualización (pendiente / vista)

【Búsqueda de títulos】

  • Gemini recomienda películas basándose en la información de tus favoritos
  • Permite especificar el género y el número de recomendaciones
  • Añade películas recomendadas a tu lista de seguimiento con un solo toque
  • También puedes añadir películas que ya has visto, con su estado de visto incluido

Las tareas que antes estaban repartidas entre "buscar películas" y "registrar películas" ahora se concentran en una sola aplicación.
Antes tenía que explicarle a la IA mis gustos cada vez que quería buscar algo, pero ya no hace falta, y ahora puedo encontrar películas que me gusten en cualquier momento.

En cuanto a la lista de seguimiento, que era el propósito original, ahora se puede filtrar por estado de visualización, favoritos y género, así que gestionarla es mucho más fácil que cuando usaba un bloc de notas.

Lo que más me gusta a nivel personal es que, cuando una película que falta en la lista aparece en los resultados de búsqueda, puedo añadirla con un solo toque.
Además, ya no hace falta escribir el título a mano para registrarla.

Conclusión

Quizás ya te hayas dado cuenta al leer hasta aquí, pero en el desarrollo de esta aplicación no escribí ni una sola línea de código. Solo le decía a Claude con palabras "quiero una función así", y Claude lo implementaba todo.

Lo que más me llamó la atención al hacerlo es que "no hacía falta tener la versión final definida desde el principio". Mientras la usaba, pensaba cosas como "también me gustaría esto" o "esto no termina de encajar", y se lo comunicaba a Claude cada vez. Se sentía menos como "construir" una aplicación y más como "hacerla crecer".

Si estás dudando porque crees que "hay que escribir bien los prompts", te animo a que empieces con algo sencillo. Si el resultado no es lo que imaginabas, basta con ir corrigiéndolo poco a poco. Y no hay fallos que realmente cuenten como tales. Una vez que lo pruebes, seguramente sentirás que "vaya, esto funciona mejor de lo que pensaba".

Anímate a probarlo sin preocupaciones.

Autor de este artículo

Director web con una trayectoria ascendente desde su ingreso como recién graduada, actualmente en plena dedicación. Aspira a convertirse en una profesional polivalente que domine todos los ámbitos, desde el diseño hasta la gestión de publicidad, y afronta nuevos retos cada día. En el trabajo busca una dirección ágil y eficaz, mientras que en su vida personal disfruta de una vida de retiro en su propia fortaleza: su hogar. Le gusta el anime.

Handan-chan

Director web / Incorporación en 2022

Ver los artículos de este miembro del equipo

Equipo de confianza y una respuesta ágil son nuestras fortalezas

En Liberogic, nuestro personal veterano impulsa los proyectos de forma proactiva, por lo que nuestros clientes nos valoran muy positivamente.
Nos esforzamos por asignar de manera adecuada a un gestor de proyectos y a un director, para que el proyecto avance sin contratiempos en su conjunto. Nuestro estilo consiste en distribuir los recursos de forma adecuada a cada tarea, evitando el aumento de costes por dedicaciones completas innecesarias. También somos reconocidos por la rapidez con la que comprendemos el alcance del trabajo y preparamos y presentamos los presupuestos.

Nota: Ten en cuenta que Liberogic no se dedica activamente a los servicios de desarrollo en las instalaciones del cliente (tipo SES).

Puede utilizar prácticamente todas las principales herramientas de gestión de proyectos y de chat, como Slack, Teams, Redmine, Backlog, Asana, Jira, Notion, Google Workspace, Zoom, Webex y más.

Cuéntenos sus desafíos web.

Casos de Estudio